【问题标题】:How to serialize a string with double byte characters?如何用双字节字符序列化字符串?
【发布时间】:2010-09-14 12:26:50
【问题描述】:

我想序列化一个包含双字节字符的字符串(韩语字符串)。我需要做一些特别的事情吗?

我可以通过转义特殊字符(如 \n、\b、\f、\t 等)来序列化 char * 字符串。

我在没有任何库的 Windows 上使用 C++。

【问题讨论】:

  • 如果您指定序列化的含义,您就有更大的机会回答您的问题。你是否需要做一些特别的事情完全取决于你所说的 serialize 是什么意思,所以在你更详细地解释之前,你很可能不会对你的问题得到任何合理的回答。
  • 好的,我想将该字符串传递给另一个 com 对象。基本上 Javascript 将调用我的 API 来获取序列化数据。
  • COM 对其所有字符串使用 UTF-16 编码的 BSTR 数据类型。脚本环境,如 Javascript,然后将所有内容包装在 VARIANT 值中。因此,在将双字节字符串传递给 COM 时,您需要将双字节字符串编码/解码到 UTF-16。

标签: c++ windows unicode


【解决方案1】:

您想以字节为单位转换 Unicode 字符串。 Unicode 字符串可以在内存中以多种方式表示,因此您需要对其进行编码。我

我建议为此使用UTF-8 编码,因为它是最常用的编码它也独立于机器字节序。

【讨论】:

    猜你喜欢
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 2021-01-08
    • 2018-06-27
    相关资源
    最近更新 更多