Unicode编码及其实现:UTF-16、UTF-8,and more

时间:2023-01-10 22:31:49

http://blog.csdn.net/thl789/article/details/7506133
https://zhuanlan.zhihu.com/p/23654187?refer=dreawer
http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

UTF-8
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,使用一至四个字节为每个字符编码:
Unicode范围为U+0000..U+007F 的128个ASCII字符只需一个字节编码;
Unicode范围为U+0080..U+07FF的字符需要二个字节编码;
Unicode范围为U+0800..U+FFFF的其他BMP中的字符(这包含了大部分常用字)使用三个字节编码;
Unicode 辅助平面的字符(其他极少使用的字符)使用四字节编码。
对上述提及的第四种字符而言,UTF-8使用四个字节来编码似乎太耗费资源了。但UTF-8对所有常用的字符都只用三个字节表达,而且UTF-16编码对前述的第四种字符同样需要四个字节来编码,而如果是ASCII居多的字符,UTF-8能极大的节约存储空间。UTF-8逐渐成为电子邮件、网页及其他储存或传送文字的应用中,优先采用的编码。互联网工程工作小组(IETF)要求所有互联网协议都必须支持UTF-8编码。互联网邮件联盟(IMC)建议所有电子邮件软件都支持UTF-8编码。