Unicode 对对字符进行编码,即给予每个字符一个独一无二的编码用于表示。
UTF-8则是存储编码,将具体的Unicode按照一定规则保存。UTF-8 的编码规则请参照这个地址。
既然用于存储,也会涉及到传输,UTF-8使用变长的方式有节省空间、自动纠错性能好、利于传输、扩展性强等有点,劣势是不利于程序内部处理。
链接所指的网页里有对编码范围对应的字节长度做了一个整理,其中有提到当 Unicode 编码范围为0800 ~ FFFF 时,UTF-8 使用三个字节编码,而根据最新的CJK字符表,中文所在的范围是4E00 ~ 9FCF,也就是在这个范围内,所以一般(CJK 还有扩展字符集,其中 CJK Extension B 是从 U2000 开始的)不会使用 4 个字节编码。