【问题标题】:how to change cstring to unicode如何将cstring更改为unicode
【发布时间】:2013-02-28 21:35:42
【问题描述】:

我现在在 VC++ 6 中工作。我有一个 cstring 内容。如何将内容更改为 unicode ? 例如,我有一个定义

CString strName;

strName里面有一些内容(可能有一些汉字)。

并且还定义了:

Unicode* chinese_character;

如何将strName的内容转入chinese_character

请注意,我正在使用 VC++ 6。

谢谢。

【问题讨论】:

  • 什么是Unicode?这不是我所知道的类型。
  • 我理解为 unsigned short
  • @user1279988:在 VC6 中,这通常称为WCHAR*

标签: c++ char


【解决方案1】:

谷歌搜索后我发现了一个有用的函数 mbstowcs() 用于将多字节字符串转换为宽字符串。

下面这个例子。

{
    wchar_t buf[255];
    mbstowcs(buf,(const char*)name,name.GetLength()+1);

    BYTE bytes[255];
    size_t length = wcslen(buf);
    for (size_t i = 0; i < length; i++)
    {
      bytes[i*2] = buf[i] >> 8;
      bytes[i*2+1] = buf[i] & 0xFF;
    }
  }

【讨论】:

    猜你喜欢
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 2012-08-25
    • 2018-10-15
    • 1970-01-01
    相关资源
    最近更新 更多