我有一个编码的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);
}
编码后变为"A B C \uÿÿ"
。
我想要做的是返回原始字符串(e_str)。
答案 0 :(得分:0)
尝试:
char loChar=(char)(value);
char hiChar=(char)(value>>8);