如何解码wchar_t中的字符

How to decode char from wchar_t

本文关键字:字符 wchar 何解码 解码      更新时间:2023-10-16

我有一个编码的wstring。因为wchar_t是16位宽的,所以我们对它编码了2个字符

wstring e_str = L"A B C uffff";
....
wstring temp;
....
wchar_t value = e_str[i]; /* e_str = encoded wstring */
....
if (value > L'u00ff) {
    temp.append(1,(character-(character % 256))/256);
    temp.append(1,character % 256);
}

在编码之后它变为CCD_ 1。

我想做的是取回原始字符串(e_str)。

尝试:

char loChar=(char)(value);
char hiChar=(char)(value>>8);