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

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

  • 相关阅读:
    x64 寄存器使用
    汇编语言学习笔记(十二)-浮点指令----ACM
    浮点数的加减计算总结
    Mobile First! Wijmo 5 之 架构
    CSDN头版头条 《近匠》 Wijmo 5 CTO:从Web到移动,我的25年编程生涯
    超越Web,Javascript在物联网的应用
    《我与葡萄城的故事》— 征文大赛
    介绍一款开源的类Excel电子表格软件
    2014年GDG西安 -- DevFest Season1
    异步陷阱之死锁篇
  • 原文地址:https://www.cnblogs.com/ezhong/p/2811396.html
Copyright © 2011-2022 走看看