Zam*_*son 10 c++ string unicode locale
我正在寻找有关unicode感知std :: string库替换的建议.我有一堆使用std :: string,它的迭代器等的代码,并且现在想支持unicode字符串(首选免费或开源实现,正则表达式功能会很棒!).
我现在还不确定是否需要完全重写,或者我是否可以放弃支持所有std :: string接口的新字符串库.unicode世界似乎非常复杂,我只是想在我的应用程序中启用它而不必学习它的每一个方面.
顺便说一下,如果索引运算符必须将引用传递回1,2,3或4结构,理论上可以转换为1,2,3或4字节结构,它如何工作.如果传递更大或更小的值,内部数据表示的来回移位是否会发生?
Kla*_*aim 10
如果确定std :: string包含的内容,则不需要完全重写.例如,您可以假设(并转换输入以确保)您的std :: string包含UTF8编码的字符串(对于那些需要本地化的字符串).不要忘记std :: string只是原始数据的容器,它与编码无关(即使在C++ 0x中,它只是一种可能性,而不是一种要求).
然后,当您将文本传递给需要不同编码的其他库时,您可以使用像UTF8CPP这样的库来转换为所需的编码(但大多数情况下,此类库会自行完成).
这样简单.代码中带有标准std :: string的UTF8,允许将unicode字符串传递给其他所有字符串(如果需要,可以进行转换).
在boost社区邮件列表中已经有很多关于此的讨论.也许阅读它(如果你有足够的时间......)可以帮助你理解其他可能的解决方案.
你需要什么unicode编码?如果utf-8没问题,你可以看一下Glib :: ustring
Glib :: ustring与std :: string有很多相同的接口,但包含编码为UTF-8的Unicode字符.
| 归档时间: |
|
| 查看次数: |
5135 次 |
| 最近记录: |