【发布时间】:2018-04-05 00:15:37
【问题描述】:
我目前有一个std::string,它包含这个
"\xa9 2006 FooWorld"
基本上它包含符号 © 。这个字符串被传递给一个外部 API 的方法,该 API 采用 UTF-8。我怎样才能使这个字符串与 UTF-8 兼容?有什么建议么。我读了here 我可以使用std::wstring_convert 但我不确定如何在我的情况下应用它。任何建议,将不胜感激。
【问题讨论】:
-
对于那个角色来说,它可能不值得任何复杂的东西。只需硬编码 utf-8 等效项。 utf8-chartable.de
-
问题是它可能是多个字符
-
你可能应该在问题中有这个。 :) 就个人而言,我会使用这个:utfcpp.sourceforge.net
-
std::string存储字节,而不是字符。因此,如果您不知道原始编码,则无法保证有效。如果您知道原始编码是 utf8,那么您不需要任何额外的东西,因为std::string再次存储编码字节。