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

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

  • 相关阅读:
    模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数 字,求和之后输出结果,写出其的设计思想、程序流程图、源程序代码。
    大道至简第二章读后感
    大道至简第一章读后感
    md5实现
    jdk-动态代理
    使用反射复制对象
    java-二分查找法
    java-base64
    cxf框架使用(一)
    Freemarket学习笔记(一)
  • 原文地址:https://www.cnblogs.com/ezhong/p/2811396.html
Copyright © 2011-2022 走看看