Java 字节流与字符流的字符集编码及乱码(4)--字符

怎样算是"一个字符"?

在这一篇, 我们谈论最后一个话题, 就是"到底怎样才算一个‘字符’"?

其实这个话题在 字符集与编码(五)--代码单元及 length 方法 中和 文本在内存中的编码(1)--乱码探源(4) 也有所涉及, 这里结合字符流的话题再综合深入探讨它一下, 并且还将涉及一个 unicode 组合字符及正规化的话题. (这在前面也没有涉及过的)

怎样算是一个字符?

初看起来, 这是个很 naive 的问题. 以前面经常举的例子来说:

"h" 是一个字符;

"i" 是一个字符;

"你" 是一个字符;

"好" 也是一个字符.

继续阅读