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

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

  • 相关阅读:
    技术文章收录
    如何删除C/C++源代码中的注释
    windows进程的创建方法
    Android之人脸识别
    虹软离线人脸识别 ArcFace 2.0 Demo [C++]
    Android人脸识别Demo竖屏YUV方向调整和图片保存
    基于虹软的Android的人脸识别SDK使用测试
    C# 视频多人脸识别的实现过程
    基于人脸识别技术实战开发人证比对访客系统
    免费人脸识别APi
  • 原文地址:https://www.cnblogs.com/ezhong/p/2811396.html
Copyright © 2011-2022 走看看