【问题标题】:MBCS to UTF-8 C++MBCS 到 UTF-8 C++
【发布时间】:2009-06-30 13:51:24
【问题描述】:

我正在开发一个在 MBCS 中编译的 VS2008 项目,但我需要使用一些 UTF-8 字符串来与一些 Web 服务进行交互。我编写了一个与 Unicode 完美配合但不适用于 MBCS 的函数。有什么方法可以将 MBCS 字符串转换为 UTF-8 或 Unicode?

谢谢!

【问题讨论】:

    标签: c++ unicode utf-8


    【解决方案1】:

    使用 MultiByteToWideChar 将 MBCS 字符串转换为 Unicode,然后使用 WideCharToMultiByte 将其转换为 UTF-8。将CP_ACP 传递给第一个调用,将CP_UTF8 传递给第二个调用。

    【讨论】:

    • 一般来说是一个很好的建议,但请注意指定 CP_ACP 将使行为依赖于机器的系统语言设置。如果这是他想要的,那很好。
    • MBCS转unicode的时候,你需要知道这个MBCS是使用哪个code page,对吧? (BIG5、简体中文...)
    • @Yan Cheng CHEOK,是的。但是,大多数情况下,文本将位于活动代码页中(例如,您从 GUI 检索的所有文本都在该代码页中)。
    猜你喜欢
    • 1970-01-01
    • 2017-05-16
    • 2010-09-27
    • 1970-01-01
    • 2012-08-18
    • 2020-01-29
    • 2012-07-21
    • 1970-01-01
    • 2013-09-11
    相关资源
    最近更新 更多