char/wchar/string/wstring/
1.字符相关类型(TYPE)和编码(CODEC)概念
很多人都将这两个概念混为一谈,今天遇到一个路径的问题,深入调试了一下,也清晰自己对这些概念的模糊之处。
char/wchar 和 strting/wstring
字符类型是容器,char wchar只是表示不同类型的容器大小。string/wstring是对前者的面向对象概念封装。
ASCII/UTF/UNICODE
这类是编码,简单说就是密码本,来记录世界上不同的语言文字对应的计算机编码,就像间谍片中的密码本一样。
2.字符相关类型和编码关系
字符相关类型 和 编码的关系相当于快递包裹袋和物品的概念,袋子和物品只有能否容纳的意义,袋子无法决定物品,
袋子对物品不可能是必要条件。
3.总结和猜想
上面说了字符相关类型和编码不是必要条件,因此你可以用char的方法来容纳unicode的字符内容。对于计算机程序,
都是二进制流,你告诉它多大,多少有效内容,它就帮你带到你想要的地方处理它。
POCO库的PATH::transcode提供multibytetowidechar这样的功能,方便实用。下次培训这个,哈哈。
题外话:
程序是人写的嘛,搞清楚前人的设计,更容易写出合理的程序,所以程序员平时也可以读些计算机发展史。