如何解码wchar_t中的字符
How to decode char from wchar_t
我有一个编码的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);
相关文章:
- C++字符*缓冲区的大小
- HEX值到wchar_t字符(UTF-8)的转换
- 为什么 Serial.println(<char[]>);返回随机字符?
- 我的字符计数代码计算错误.为什么
- 字符串-C++后显示的随机字符
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 如何在C++中从字符串中分割字符
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 指向指向字符数组的指针数组的指针
- 如何用转义符替换字符串中的所有特殊字符
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 比较字符数组
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 无法将参数 1 从 WCHAR 转换为常量字符 *
- 无法使用 swprintf 在 WCHAR* 中打印字符*
- 将字符从 fget 转换为 Wchar*
- 如何获取特定 WCHAR 字符的代码点
- "strcpy":无法将参数 2 从"WCHAR *"转换为"常量字符 *
- wchar /字符变量