相关疑难解决方法(0)

在C++下处理Unicode字符串的最佳多平台方式是什么?

我知道已经有StackOverflow上有关的几个问题std::stringstd::wstring或类似,但没有人提出了一个完整的解决方案.

为了获得一个好的答案,我应该定义要求:

  • 多平台使用,必须适用于Windows,OS X和Linux
  • 最小的努力用于转换到/从平台特定的Unicode字符串CFStringRef,wchar_t *,char*为UTF-8或其他类型的,因为它们是由OS API必需的.备注:我不需要代码页转换支持,因为我希望在所有支持的操作系统上只使用Unicode兼容的函数.
  • 如果需要一个外部库,这个应该是开源的,并且在非常自由的许可下,如BSD但不是LGPL.
  • 能够使用printf格式语法或类似.
  • 简单的字符串分配/释放方式
  • 性能不是很重要,因为我假设Unicode字符串仅用于应用程序UI.
  • 一些例子可能会受到赞赏

我非常感谢每个答案提出一个解决方案,通过这样做,人们可以投票选择他们喜欢的替代方案.如果您有多个替代方案,请添加另一个答案.

请说明一些对你有用的东西.

相关问题:

c++ string unicode multiplatform wstring

19
推荐指数
2
解决办法
1785
查看次数

wchar_t数据是否需要字节序转换?

在C/C++中,如果一个多字节宽字符(wchar_t)值从big-endian系统传输到little-endian系统(反之亦然),它会在另一端出现相同的值吗?或者需要交换字节?

c c++ data-transfer wchar-t endianness

7
推荐指数
2
解决办法
3416
查看次数

标签 统计

c++ ×2

c ×1

data-transfer ×1

endianness ×1

multiplatform ×1

string ×1

unicode ×1

wchar-t ×1

wstring ×1