克拉克发 2021-11-29 17:39 采纳率: 0%
浏览 104

c++ 如何将十六进制 字节转成 中文字符串

比如:
unsigned char buffer[1] = 0xd4;
unsigned char buffer[2] = 0xc1;

如何将 0xd4 与 0xc1 转成 汉字“粤” ,并用string形式

  • 写回答

1条回答 默认 最新

  • fortunely2 2021-11-29 18:05
    关注

    CMD控制台默认是gbk编码,而 汉字“粤”的GBK编码也刚好是0xD4C1,因此,只需要让string 的值为0xD4C1即可。

    #include <string>
    #include <iostream>
    using namespace std;
    
    int main()
    {
        unsigned char buffer1 = 0xd4;
        unsigned char buffer2 = 0xc1;
        string s;
        s += buffer1;
        s += buffer2;
        cout << s << endl;
        return 0;
    }
    

    汉字字符编码请查看: 汉字字符集编码查询;中文字符集编码:GB2312、BIG5、GBK、GB18030、Unicode
    控制台编码(修改)请查看:解决c++中cout输出中文乱码问题_天天进步一点点-CSDN博客_c++输出中文乱码

    评论

报告相同问题?

问题事件

  • 创建了问题 11月29日

悬赏问题

  • ¥15 咨询一下有关于王者荣耀赢藏战绩
  • ¥100 求购一套带接口实现实习自动签到打卡
  • ¥50 MacOS 使用虚拟机安装k8s
  • ¥500 亚马逊 COOKIE我如何才能实现 登录一个亚马逊账户 下发新 COOKIE ..我使用下发新COOKIE 导入ADS 指纹浏览器登录,我把账户密码 修改过后,原来下发新COOKIE 不会失效的方式
  • ¥20 玩游戏gpu和cpu利用率特别低,玩游戏卡顿
  • ¥25 oracle中的正则匹配
  • ¥15 关于#vscode#的问题:把软件卸载不会再出现蓝屏
  • ¥15 vimplus出现的错误
  • ¥15 usb无线网卡转typec口
  • ¥30 怎么使用AVL fire ESE软件自带的优化模式来优化设计Soot和NOx?