UTF-8可以编码为1,2和最多4个字节.char我系统上的单个字节是1个字节.我应该使用wchar_t作为预防措施,以便我能够适应任何任意UTF-8编码字符吗?
dus*_*uff 10
不,你不应该!Unicode 4.0标准(ISO 10646:2003)指出:
宽度
wchar_t是特定于编译器的,可以小到8位.因此,需要可通过任何C或C++编译器移植的程序不wchar_t应用于存储Unicode文本.
在大多数情况下,UTF-8文本的"字符性质"与您的程序无关,因此将其视为char元素数组,就像任何其他字符串一样,就足够了.但是,如果需要提取单个字符,则应将这些字符存储为至少24位宽的类型(例如uint32_t),以便容纳所有Unicode代码点.
| 归档时间: |
|
| 查看次数: |
7829 次 |
| 最近记录: |