Boost.Locae-C++中的Unicode字符串
Boost.Locale - Unicode string in C++
我能用Boost.Locare让应用程序中的所有std::string都支持Unicode吗?看完文件后,我可以答应。但我不明白它是怎么运作的。主要的问题是我还能使用boost字符串算法库还是boost.Lexical_Cast库?如果是,为什么我需要boost::locale::to_upper和类似格式的方法,如果我在boost字符串算法库中有这些方法的话。
是的,您可以使用Boost.Locale.对应用程序中的所有字符串进行Unicode编码
为了使其发挥作用,您可以将区域设置插入字符串中,或者将默认的全局区域设置为新的基于unicode的区域设置(由Boost.Locare生成)。请参阅此处了解如何做到这一点:http://www.boost.org/libs/locale/doc/html/locale_gen.html和http://www.boost.org/libs/locale/doc/html/faq.html
Boost.Locare中的字符串操作API与Boost字符串算法库中提供的API不同。请参阅此处了解Boost.Locae函数更好的原因:http://www.boost.org/libs/locale/doc/html/conversions.html
您仍然可以使用boost::lexical_cast,前提是您正确地设置了全局区域设置(因为,如果我记得正确的话,您不能显式地将区域设置对象传递给boost.LlexicalCast)。
然而,请记住,这将"破坏"某些情况,例如,当将整数转换为字符串时,而不是使用C语言环境(可能是您以前的默认设置),它将使用不同的语言环境,这可能会插入分隔符等。当进行未向用户显示的转换时,您可能希望直接使用std::stringstream等来避免这些不需要的格式更改。
我强烈建议您完整阅读Boost.Locae文档,因为它应该解决您的大多数问题(尤其是常见问题解答、生成后端信息等)。
- 如何将unicode字符串从C++传递到delphi
- 将ANSI C字符串转换为UNICODE
- 将 unicode 字符串与 c ++ 符号进行比较?
- 如何在 c++ 中读取用 utf-8 编码的 java unicode 字节字符串
- C++:Unicode 字符串文字的可移植性
- 如何使用 CTypes 将 wchar_t** - 以空结尾的 UNICODE 字符串数组 - 返回到 Python 脚
- 在将 unicode 替换为C++字符串中的空格时出现分段错误
- C++ 原始字符串 Unicode 文字
- Xamarin Android:在 C++ 中将字符串从 C# 封送到 Unicode 字符串的正确方法是什么?
- 如何在 python 包装中使用 unicode 字符串用于带有 cython 的 c++ 类?
- 六角字符串到UTF-8(UNICODE)字符串
- 如何使用poco :: logger记录Unicode字符串
- 将 Unicode 字符/字符串写入文件
- 如何将 Unicode 字符串连接成字符串以传递到 mysql 调用中
- 从终端 C++ 中的字符串中打印出 unicode 字符
- Unicode字符串Visual C 构造函数
- 字符串到 Unicode,Unicode 到十进制码位 (C++)
- 如何让 SWIG 返回 Python 2 中字符串的 unicode 对象
- 如何将 (ICU4C) Unicode 字符串逐个字符复制到另一个 Unicode 字符串
- 如何从Windows中的进程中读取Unicode字符串