-
-
[转帖]JAVA中的字符集
-
发表于:
2011-9-15 22:51
6782
-
编码的原因可以总结为:
1. 计算机中存储信息的最小单元是一个字节即 8 个 bit,所以能表示的字符范围是 0~255 个
2. 人类要表示的符号太多,无法用一个字节来完全表示
3. 要解决这个矛盾必须需要一个新的数据结构 char,从 char 到 byte 必须编码
计算中提拱了多种翻译方式,常见的有 ASCII、ISO-8859-1、GB2312、GBK、UTF-8、UTF-16 等。它们都可以被看作为字典,它们规定了转化的规则,按照这个规则就可以让计算机正确的表示我们的字符。目前的编码格式很多,例如 GB2312、GBK、UTF-8、UTF-16 这几种格式都可以表示一个汉字,那我们到底选择哪种编码格式来存储汉字呢?这就要考虑到其它因素了,是存储空间重要还是编码的效率重要。根据这些因素来正确选择编码格式。
在JAVA的NIO中,最重要的一点是引入了字符集Charset。这样的话,就可以在不同类型的字符集进行转换,非常的方便。在附件里面,是两个ibm文档库的文章,感觉写得挺好的。对于理解字符集很有帮助。
java.nio.charset 包中有三个类帮助进行这种映射: Charset 、 CharsetEncoder 和 CharsetDecoder 。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课