如何在 C++ 中将 ASCII std::string 转换为 UTF8 (Unicode) std::string?
user301649
问问题
5562 次
3 回答
6
std::string ASCIIToUTF8(std::string str) {
return str;
}
每个 ASCII 字符在 UTF8 中都具有相同的表示形式,因此无需转换。当然,如果输入字符串使用扩展的(8 位)ASCII 字符集,答案就更复杂了。
于 2010-02-27T15:17:56.490 回答
2
ASCII 是一种七位编码,并且完全映射到可以用 ASCII 表示的字符子集的 UTF-8 编码。
简而言之,没有什么可做的。您的 ASCII 字符串已经是有效的 UTF-8。
于 2010-02-27T15:18:44.593 回答
0
我假设 ASCII 是指 CP1252 或其他 8 位字符集(ASCII 只有 7 位,它直接与 UTF-8 兼容,无需转换)。标准 C++ 做不到。你需要例如 Glibmm、Qt、iconv 或 WINAPI 来完成它。
于 2010-02-27T15:16:25.783 回答