博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows与OS X下的std::string
阅读量:6837 次
发布时间:2019-06-26

本文共 899 字,大约阅读时间需要 2 分钟。

 

编码方式简单分类:

         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转换需要进行不同设置,比如从打开文件夹窗口获取的文件路径。

 

 

参考:

        

  百度Unicode,有个“汉字转Unicode”的小工具,可以查看汉字的Unicode编码

转载于:https://www.cnblogs.com/ezhong/archive/2012/12/10/2811396.html

你可能感兴趣的文章
20145328 《信息安全系统设计基础》第3周学习总结
查看>>
layoutSubviews何时调用的问题
查看>>
编译bash实现history的syslog日志记录
查看>>
Java数据类型
查看>>
mysql主从备份
查看>>
我的友情链接
查看>>
强化学习概览
查看>>
我的友情链接
查看>>
jdk1.8-stack 栈源码分析
查看>>
解决Windows Server 2008 System进程占用80端口
查看>>
python3--嵌套函数
查看>>
nagios监控网络设备
查看>>
[转] 配置VNC
查看>>
unity使用UGUI创建摇杆
查看>>
实习小白::(转) 使用Tui-x制作cocos能使用的界面,动画等 ---------- Tui-x 简介...
查看>>
Red Hat 6.5 网络yum源的配置
查看>>
如何解决EditText使用时,点击外侧系统键盘不消失的bug
查看>>
SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)
查看>>
使用JSP渲染Web视图
查看>>
iOS_nil、Nil、NULL、NSNull的区别
查看>>