char
来存储UTF-8编码的字符串。在C++和基本的std::string
中,这是否按预期工作,还是存在可能会造成问题的UTF-8编码案例呢?例如,在计算长度时,它可能与字节数不相同 - 应该如何处理?阅读标准,我可能可以使用
char
数组进行存储,但我仍然需要自己编写像strlen
等操作编码文本的函数,因为据我所了解的问题,标准例程要么只针对ASCII,要么使用Unicode宽字符文字(16位或更多),这不被Unicode标准推荐。到目前为止,我发现关于编码方面最好的来源是Joel's on Software上的一篇文章,但它并没有解释我们这些可怜的C++开发者应该使用什么。