Duilib vlc c++ 字符编码

c++ 编码

http://club.topsage.com/thread-2227977-1-1.html

本地化策略集(locale)

宽字符: unicode, 每一个字符使用固定的字节。

多字节: utf-8, gbk,字体集当中每一个字符所占用的字节数不同。

unicode, utf-8,gbk之间转换关系:

unicode –> utf-8, unicode –> gbk, utf-8 <–> unicode <–> gk

环境:

c++ 字符串默认为ansi, 即本地化: 在WINDOWS 中文是GBK2312, 欧美,日本其是不同的。在程序要支持国际化是很麻烦的,如处理字符串长度 char *pStr = “我a”;中文与欧美环境是不同的,这就是多字节字符。

C++支持unicode字符串,只是在声明的时候要显示的声名,wchar_t *pStr = _T”我a”;  在所有环境都一样的。这就是宽字节字符。

基本api是支持本地:

如文件操作fopen只支持多字节字符串且为本地化,如为utf-8,需要先转换成unicode宽字节版本,然后再从unicode版本转换成本地化多字节版本。

C++多字节字符与宽字节字符相互转换

最近在C++编程中经常遇到需要多字节字符与宽字节字符相互转换的问题,自己写了一个类来封装wchar_t与char类型间的转换

http://www.jb51.net/article/32107.htm

http://club.topsage.com/thread-2227977-1-1.html

http://blog.csdn.net/stawn/article/details/10492111

C++输出中文字符 C/C++多字节字符与宽字符的输出

原文地址:https://www.cnblogs.com/pengxinglove/p/5217496.html