目录节
1. UTF-8 与 UTF-16的区别。
2. 二者可否相互转换
3. 在哪些条件下使用正确的转换方式,能提高效率
1. UTF-8 与 UTF-16的区别。
使用 UTF-8 压缩字符串时,UTF-8分别将字符串分成1个字节、2个字节、3个字节、4个字节。
值在 0x0080 以下 = 1字节。
值在 0x0080~0x07FF = 2字节。
值在 0x0800 以上 = 3字节。
代理项则 = 4字节。
在东亚地区,大部分是将值转换成3字节(0x0800以上)。
使用 UTF-16 压缩字符串时,UTF-16始终将值2个字节。
通过上面对 UTF-8 与 UTF-16 的转换字节码,就可以看出来,UTF-16相对来说,存储大容量会好一点,而存储小容量,则比较浪费,应该选择 UTF-8。
2. 二者可否相互转换
一般情况下,最好 UTF-8 压缩,则用 UTF-8解压,因为两者是互不兼容的,虽然在数值上可以相互转换,但不建议这么去使用。否则会造成数据丢失的情况。
3. 在哪些条件下使用正确的转换方式,能提高效率
前面已经对两种格式做了简单的编码介绍,究竟是选择 UTF-8 ,还是UTF-16,个人有以下建议:
⑴. 在东亚地区,使用中文去转换,则采用 UTF-16 效率会胜过 UTF-8,如果采用 UTF-8,则会采用3字节,这样会大大降低效率。
⑵. 根据项目的情况而定,项目中,如果进行编码的仅有因为或数值,则采用 UTF-8,这样会大大的节省空间。