计算机中为何不直接使用 UTF-8 编码进行存储而要使用 Unicode 再转换成 UTF-8 ?
关注者
706被浏览
165,95140 个回答
其实这个问题是不是:为啥程序内码和外码不能用相同的编码方式?
(这里有几个概念,「字符编码」、「字符集」、「编码方式」等,因为懒窝就不说了,我先妄测题主的「Unicode」是指「Unicode 字符集定长的编码方式」吧。)
笼统来说,内码要求处理效率高,外码要求传输方便。二者不可得兼的时候就会采用不同的编码方式。
utf-8 没有字节序,所以用来作数据传输和存储很方便。
定长的编码在内存中可以快速访问,所以用来作数据处理时效率高。
用 Python 2 处理文本数据时就建议进行内外码转换。