编码学习之unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,来满足跨平台、跨语言进行文本转换、处理的要求。
unicode是基于通用字符集(Universal Character Set)的标准来发展的,现在UCS主要有两种表示方式,一种是UCS-2使用两个字节编码,另一种是UCS-4使用四个字节编码。目前大部分的unicode主要是使用UCS-2标准来的。
unicode 通过对每个字符进行定义,比如"经"的编码是)0x7ECF,注意字符编码一般使用十六进制来表示,为了和十进制区分,十六进制以0x开头。
unicodde 的字符编码包含了ascii编码,将0-127的字符编码来表示ascii编码定义的字符。对于汉字的编码来说,unicode肯定不可能定义出所有的汉字(简体字、繁体字等),所以选择最常用的汉字来进行编码,摒弃了一些极少用的汉字,这是因为两个字节的unicode,理论上能够定义65536个字符,但是目前汉字的数量至少6、7万个,所以无法完全定义。UCS-4标准的unicode完全可以胜任这项工作,但是目前定义工作还没有完善,所以没有普遍使用。
计算机内存中存储的肯定是一些01组成的编码,如果文件中的编码使用的unicode编码的话,每个字符都对应唯一的一个unicode编码,这个编码占用两个字节,在存入内存中的时候,转换成二进制的形式,通过一定的实现方法(这里的实现方法的意思是,安装字符对应的unicode编码标准来具体实现,现在流行的unicode编码标准的实现有utf-8、utf-16等)来存储在内存中。