编码类型
UNICODE是统一码联盟组织定义的编码。
UCS是国际标准化组织iso开展的ISO/IEC 10646项目定义的编码。
(注, 到UNICODE2.0上述两种编码都基本一致了)
实现类型
UTF-8/UTF-16 是UNICODE编码的实现。UCS-2/UCS-4 是UCS编码的实现。
例子
举例来说,汉字"汉"的编码是6C49如果用UTF-16实现,那么就是: 6C 49(01101100 01001001)
如果用UTF-8实现, 那么就是: E6 B1 89(1110 0110 10 110001 10 001001)
UCS-2编码和UTF-8之间的映射关系:
UCS-2编码(16进制) UTF-8 字节流(二进制)
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
(到目前为止Unicode-16规范没有指定FFFF以上的字符,所以UTF-8最多是使用3个字节来表示一个字符。但理论上来说,UTF-8最多需要用6字节表示一个字符)