日期:2014-05-18  浏览次数:20734 次

已经有了unicode编码,为什么还要UTF8,UTF16呢
据我所知,unicode是文件存储的编码方式,UTF8,UTF16是文件传输的编码方式,但为什么不能用同一种方式呢?

我在网上看到这么一段话:“现在我们用UTF-8也很无奈,也知道不爽。但是国际化是软件的未来趋势,Unicode才是一种比较好的出路。而   Unicode差就差在不能用于传输,因为其中存储的ASCII字符在高位是0,这样在C程序中会被截断。也正是因为如此才出现了UTF-8来解决这个截断问题,顺便歧视了我们一下。”

我对其中 "ASCII字符在高位是0,这样在C程序中会被截断 "这句不理解,大家进来谈谈自己的看法吧,多谢了

------解决方案--------------------
unicode针对所有的字符都是双位编码的
而,utf8针对ascii可以标识的字符是单位编码,而标识不了的才采用双位编码,有的甚至使用多位编码,以此来提高存储效率。