我可以在我的應用程序中使用Boost.Locale支持Unicode中的所有std :: string嗎?閱讀完文檔後,我可以說是。但我不明白它是如何工作的。主要問題是我仍然可以使用boost字符串算法庫或Boost.Lexical_Cast庫嗎?如果是的話,爲什麼我需要boost::locale::to_upper和類似的格式方法,如果我在boost字符串算法庫中有這些方法。Boost.Locale - C++中的Unicode字符串
1
A
回答
2
是的,您可以使用Boost.Locale編碼您的應用程序中的所有字符串。
要讓它工作,請將語言環境嵌入到字符串中,或將默認全局語言環境設置爲新的基於Unicode的語言環境(由Boost.Locale生成)。 看到這裏如何做到這一點:http://www.boost.org/libs/locale/doc/html/locale_gen.html 和http://www.boost.org/libs/locale/doc/html/faq.html
在Boost.Locale字符串處理的API是在加速字符串算法庫提供的不同。 看到這裏爲什麼Boost.Locale功能更好:http://www.boost.org/libs/locale/doc/html/conversions.html
你仍然可以使用boost :: lexical_cast的,只要你正確設置全局區域設置(如,如果我沒有記錯,你不能明確地傳遞語言環境對象Boost.LexicalCast)。
但請記住,這會'破壞'一些情況,例如,將整數轉換爲字符串時,而不是使用C語言環境(可能是您之前的默認設置),它將使用不同的語言環境,可能會插入分隔符等。在進行不會向用戶顯示的轉換時,您可能希望直接使用std :: stringstream等來避免這些不需要的格式更改。
我強烈建議您完整閱讀Boost.Locale documentation,因爲它應該能夠解決您關心的大部分問題(特別是常見問題解答,代後端信息等)。
相關問題
- 1. C#中的Unicode字符串#
- 2. 在C擴展中的unicode字符串
- 3. 純C++中的Unicode字符串
- 4. Concat wchar_t C中的Unicode字符串?
- 5. 用字符串c中的unicode字符替換特殊字符#
- 6. 拆分字符串,unicode,unicode,python中的字符串
- 7. Unicode字符串
- 8. Unicode字符串
- 9. urllib.request中的Unicode字符串
- 10. C#:與MySQL的字符串的Unicode
- 11. 轉換的Unicode字符串的Objective-C
- 12. Unicode字符串爲Unicode字符,Python 3
- 13. 字符串中的Unicode字符 - iphone
- 14. Unicode字符串中的奇數字符
- 15. Listview中的Unicode字符c#
- 16. C++字符串編碼UTF8/unicode的
- 17. Visual C++損壞的Unicode字符串
- 18. 的Javascript C#Unicode字符串 - headscratcher
- 19. C#與C++/CLI中的Unicode字符串文字
- 20. Unicode字符字符串
- 21. raw_inputting Unicode字符串
- 22. Unicode字符串++/CLI
- 23. Unicode字符串php
- 24. Qpython unicode字符串
- 25. QPython unicode字符串
- 26. 爲Unicode字符串
- 27. len(unicode字符串)
- 28. 從字符串中刪除Unicode字符
- 29. Python中,字符串,Unicode字符
- 30. 如何在C#中將Unicode字符串拆分爲多個Unicode字符?