以前使用Java,在编码这一块遇到的问题比较少。最近使用C++,就一个读写文件就遇到一些问题。还好我在Python中遇到过同样的问题有点经验click here。结合自己网上找的些知识也算是弄懂点,对编码问题有些了解。
网上有篇文章关于字符,字节,编码的问题讲的很详细click here。但是在实际操作中我觉得并非文章所说。文章说系统内码分为ASCII、ANSI编码、UNICODE编码。分别是单字节编码、混合字节编码、和双字节编码。还指出“UNICODE 字符集”包含了各种
语言中使用到的所有“字符”。用来给 UNICODE 字符集编码的标准有很多种,比如:UTF-8, UTF-7, UTF-16, UnicodeLittle, Unicode
-Big 等。这就让我认为UTF-8也应该是双字节边编码的(也就是不管英文还是中文都是 两个字节 表示)。
真是是这样的吗?非也,非也。
我们可以动手做个实验看看。我使用的是UltraEdit这个工具。