编码方式简单分类:
ANSI
Unicode
UTF-8
工具:
Notepad++
UltraEdit
在Notepad++中输入“严”字,在UltraEdit中用二进制方式查看严的二进制保存:
ANSI编码格式:D1 CF
(D1 CF是GB2312字符集中”严”的编码)
UTF-8编码格式:EF BB BF E4 B8 A5
(EF BB BF显示表示文件是UTF-8编码)
UCS-2 Big Endian:FE FF 4E 25
UCS-2 Little Endian: FF FE 25 4E
(FEFF:Unicode规范定义的显示表示文本的存储方式)
std::string 使用char
std::wstring使用wchar_t
在VS2008中测试:
std::string astr = "严";
char astr1[10] = "严";
std::wstring wstr = L"严";
wchar_t wstr1[10] = L"严";
结果如图:
与IDE->Project->Configuration Properties->General->CharacterSet设置为Multi-Byte/Unicode无关…
Xcode测试:
windows:
char 或者 std::string使用ANSI编码,字符集是系统自动选择的本地字符集,GB2312.
wchar_t 或者std::wstring使用Unicode字符集.
OS X 10.8.2:
char 使用的是UTF-8编码
//wchar_t从程序运行结果反映是Unicdoe…Xcode断点竟然无法查看内存值?
跨平台:
跨平台工程中std::wstring ->std::string转换需要进行不同设置,比如从打开文件夹窗口获取的文件路径。
参考:
http://www.doc88.com/p-993979784139.html
百度Unicode,有个“汉字转Unicode”的小工具,可以查看汉字的Unicode编码
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ezhong的博客签名-------------------------------------
以上内容来自ezhong的博客园,作者:ezhong
ezhong的博客园: http://www.cnblogs.com/ezhong
感谢您的阅读。感谢您的分享。