1. Unicode / ANSI / ASCII
前两种是多字节编码,对应多种语言,包括汉语、日语等等。在编码英文字符时,ANSI 采用单字节,Unicode 采用双字节。ASCII 是单字节编码,对于英文比较适合。
ANSI编码分为代码页和内码。一种代码页的内码无法在另一种代码页中使用。所以ANSI编码繁中游戏会显示乱码。
Unicode编码在两个字节内通过代理来包含超过65535个字符。所有语言统一编码。
2. Unicode 与 UTF-8 / UTF-16 / UTF-32
UTF-8 将 Unicode 编码进1个字节、两个字节或者四个字节。 UTF-16 将 Unicode 编码进两个字节或者四个字节。以此类推。比如对于汉字”我“,只有唯一的 Unicode,这一个 Unicode 可以按照 UTF-8 / UTF-16 / UTF-32 方式编码。UTF-16最常用。