【发布时间】:2014-07-04 13:54:06
【问题描述】:
我正在尝试将 UTF-8 string 转换为 ISO-8859-1 char* 以用于旧代码。我看到的唯一方法是使用iconv。
我肯定更喜欢完全基于 string 的 C++ 解决方案,然后只需在结果字符串上调用 .c_str()。
我该怎么做?如果可能,请提供代码示例。如果这是您知道的唯一解决方案,我可以使用 iconv。
【问题讨论】:
-
这听起来像是一个潜在的大项目——而且正是像 iconv 这样的库所擅长的。以正确的方式做事有什么问题?
-
如果这是唯一可用的方法,我可以使用 iconv。它绝对不是可以想象的最优雅的 C++ 解决方案。像
s.toEncoding("ISO-8859-1")这样的东西会更优雅。我的意思是,即使我在 iconv 中执行此操作,我也不清楚如何使用带有string输入的库。
标签: c++ utf-8 iso-8859-1 iconv