字符集与编码(六)——getBytes 方法及乱码初步

摘要:本文主要讲述 string.getBytes() 方法,分析了系统缺省编码的各种陷阱,并针对测试中出现的乱码作了初步的分析,对代码页的概念也进行了介绍。

在前一篇里我们谈了 Unicode 的代码单元及 string.length,现在接着前面的讨论继续谈 string.getBytes() 方法并对乱码的产生作初步分析。

继续阅读“字符集与编码(六)——getBytes 方法及乱码初步”

百年树人——Grow people for 100 years of prosperity

前些天是教师节,说到教师节,免不了又要扯到教育的话题上来,想写点什么却又思绪太乱,一时不好从哪里说起。我首先想到的是2011年美国总统奥巴马在欢迎胡锦涛主席访美的国宴上说的一段话:

继续阅读“百年树人——Grow people for 100 years of prosperity”

字符集与编码(五)——代码单元及 length 方法

摘要:本文讲述了 Unicode 中的代码单元这一概念,并以 java 为例,阐述其对 string.length 方法的影响,并结合 junit 做了一些具体的测试。

在前一篇章中已经谈了不少 Unicode 中的重要概念,但仍还有一些概念没有提及,一则不想一下说太多,二则有些概念也无法三言两语就说清楚,本文在此准备谈一下代码单元及由此引发的一些话题。

继续阅读“字符集与编码(五)——代码单元及 length 方法”

字符集与编码(四)——Unicode

摘要:本文系统介绍了 Unicode 方面的一些重要知识,如码点,平面,代理区,代理对以及 UTF,用具体的例子讲解了码点到 UTF-8 及 UTF-16 的转换原理与过程。文中还顺便鸟瞰了一下 BMP 字符集,以此获取更加直观的印象。

前面谈到不少的 Unicode,但一直没有系统地谈及 Unicode 的方方面面,所以本篇文章专门谈谈 Unicode,当然了,Unicode 是一个庞大的主题,这里也是拣些重要的方面谈谈而已,免不了挂一漏万。

继续阅读“字符集与编码(四)——Unicode”

使用Live Writer写博客的总结

使用了Live Writer写了一下博客,总体感觉还是不错,但存在的问题也是不少。这一篇也是用live writer写的。我一开始下载到的是英文的版本,老是无法更新主题,图片也无法正常显示,后来换成了中文版后才能更新主题样式及显示样式。

继续阅读“使用Live Writer写博客的总结”

字符集与编码(三)——定长与变长

摘要:本文深入探讨了定长与变长两种实现,阐述了定长到变长演变的一些权衡与取舍,并把它与CAP理论作了对比。在最后,还通过自行实现变长方案的方式来演示变长设计上的一些考虑。

,首先,这并不是图片,这是一个 Unicode 字符,Yin Yang,即阴阳符,码点为 U+262F。如果你的浏览器无法显示,可以查看这个链接http://www.fileformat.info/info/unicode/char/262f/index.htm。这与我们要讨论的主题有何关系呢?下面我会谈到。

继续阅读“字符集与编码(三)——定长与变长”

字符集与编码(二)——编号 vs 编码

摘要:编号是字符到最终编码的一个过渡层与抽象层,起着承上启下的作用,它与最终编码在形式上也常常很相似,在 Unicode 中,码点(code point)扮演的正是编号的角色。广义而言,编号其实也是一种编码。

在深入研究字符集编码,简称编码之前,我们先引入一个概念:编号(code),引入它是为了更好地编码(encode)相区分。

继续阅读“字符集与编码(二)——编号 vs 编码”

字符集与编码(一)——charset vs encoding

摘要:charset 与 encoding 的差别在哪?charset=utf-8 与 encoding=utf8 哪种写法更规范?本文将探讨这两者的联系与区别。

许多时候,字符集与编码这两个概念常被混为一谈,但两者是有差别的,作为深入理解的第一步,首先要明确:

继续阅读“字符集与编码(一)——charset vs encoding”