汉字可以用unicode编码,也可以用ascii编码。(就是noetpad中另存为的那种ascii)。我看了一下,虽然这两种方案都使用两个字节来编码汉字,但是相对应每一个子节的值是不一样的。那么他们之间有没有联系呢?或者说那个ascii汉字编码是怎么实现的呢?

解决方案 »

  1.   

    ascii是用代码页来标示不同的字符集的
    代码页不同,同一代码表示的字也不同
    而unicode是统一编码, 也就是说,任何一个字的编码在unicode中都是确定,唯一的
      

  2.   

    记事本默认是用ANSI编码,一个汉字两个字节,数字或字母一个字节。UNICODE,汉字或字母都是两个字节。一个共同点是,汉字编码的两个字节,最高位都是置1的.
      

  3.   

    这问题我也碰到过,但一致没弄明白,比如“我们\0\0”和  L“我们\0” 完全不同。还有那两个ASCII 与 UINCODE 之间进行转换的 API 也一直没弄透!哪位对“代码页”了解的,指点一下,我和楼主一起学习。
      

  4.   

    查MultiByteToWideChar WideCharToMultiByte 两个函数
      

  5.   

    如果是比较短的字符串,可以使用A2W,T2W,T2A,W2A等等ATL宏。其实编码更像是数据库,老大们说怎么编就怎么编喽,不需要刻意去研究的。