【发布时间】:2011-11-20 02:56:57
【问题描述】:
我想将 wstring 转为 UTF-8 编码,但我想使用 Linux 的内置函数。
是否有任何内置函数可以将wstring 或wchar_t* 在Linux 中通过简单调用 转换为UTF-8?
例子:
wstring str = L"file_name.txt";
wstring mode = "a";
fopen([FUNCTION](str), [FUNCTION](mode)); // Simple invoke.
cout << [FUNCTION](str); // Simple invoke.
【问题讨论】:
-
你为 wstring 假设什么编码?
-
如果您使用 std::string,并将其打印到控制台,Linux 终端(至少在 Ubuntu 上)将默认将其解释为 utf-8。
-
@Darcy:好吧,如果当前语言环境是 UTF-8,这是正确的,这是大多数当前 Linux 发行版的默认设置,但不能保证。
-
@DavidHeffernan: linux 上的 std::wstring 总是 UTF-32 不是吗?