zoukankan      html  css  js  c++  java
  • windows与OS X下的std::string

    编码方式简单分类:

             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

    感谢您的阅读。感谢您的分享。

  • 相关阅读:
    Java批量文件打包下载
    Java Swing
    空白文章
    linux 用户创建、管理、权限分配
    在虚拟机下安装hadoop集成环境(centos7+hadoop-2.6.4+jdk-7u79)
    《转载》POI导出excel日期格式
    java导出生成word(类似简历导出)
    《sqoop实现hdfs中的数据导出至mysql数据库》
    c# winform 自动关闭messagebox 模拟回车
    Ubuntu下启动/重启/停止apache服务器
  • 原文地址:https://www.cnblogs.com/ezhong/p/2811396.html
Copyright © 2011-2022 走看看