C++字符串编码GBK与UTF-8转换

发布时间 2023-06-02 22:41:14作者: heysong

以UTF-8转GBK为例,其他原理相同

1. 列出当前系统支持的locale:  locale -a |grep utf-8 gbk

2. utf-8和gbk的locale的副本
locale loc_utf8("zh_CN.UTF-8");
locale loc_gbk("zh_CN.GBK");

3. 

string s("你们好呀呀呀哎呀或或");      // utf8 string

wstring ws = s2ws(s, loc_utf8);          // utf8string to ws
string a = ws2s(ws, loc_gbk);             // ws 2 gbk

 

4. 这样就能将string a输出了,a就是编码为gbk的multi byte string