代码之家  ›  专栏  ›  技术社区  ›  Emilio

UTF-8与C++标准库(NO/CLR)的转换

  •  2
  • Emilio  · 技术社区  · 14 年前

    我有一个这样的字符串:“这些是pi(\u03a0)和sigma(\u03a3)。”如何使用C++标准库将其转换为包含和打印有效字符?

    这个解决方案 http://msdn.microsoft.com/en-us/library/system.text.encoding.utf8(VS.80).aspx 使用.NETFramework(/CLR编译),我希望避免偏爱C++标准库。

    提前谢谢。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Paweł Dyda    14 年前

    我不太清楚你所说的“标准”是什么意思,但我猜你的意思是“不受管理”。如果这是你想要的,请尝试 ICU . 掌握起来并不容易,但绝对有能力做到这一点。 conversions .

    顺便说一下,如果您只想将utf-16编码的wstring转换为utf-8编码的字符串,可以使用 WideCharToMultiByte() API调用(假定为Windows)。

        2
  •  0
  •   Emil H    14 年前

    我不知道用标准库是否有办法做到这一点,尽管我想可能没有。但是你可以使用 iconv . 它是GNUS标准C库的一部分,但是有一个 windows dll available .