查看unicode标准,他们建议使用plain char
s来存储UTF-8编码的字符串.这是否与C++和基本的预期一致std::string
,或者存在UTF-8编码可能产生问题的情况?
例如,在计算长度时,它可能与字节数不同 - 这应该如何处理?阅读标准,我可能很好地使用char
数组进行存储,但我仍然需要自己编写类似的函数strlen
,这些函数用于编码文本,因为据我所知,问题是,标准例程是仅限ASCII,或期望宽文字(16位或更多),这是unicode标准不推荐的.到目前为止,我发现关于编码内容的最好的来源是关于Joel的软件上的帖子,但它没有解释我们可怜的C++开发人员应该使用的:)
有一个名为" UTF8-CPP " 的库,它允许您将UTF-8字符串存储在标准的std :: string对象中,并提供枚举和操作utf-8字符的附加功能.
我还没有测试过,所以我不知道它的价值,但我正在考虑自己使用它.