MultiByte与Wide_Character的区别

 

MultiByte是多字节字符集,Wide   Character是宽字符集.   

 

通常所说的Unicode就是宽字符集.

 

 其实Unicode有很多种,顾名思意,Unicode就是唯一编码的意思.也就是说对于每个字符都有与其唯一对应的编码.像常用的UTF8,UTF16 都是Unicode.最早的Unicode是UTF16的一种,所以,现在说到Unicode通常就是指UTF16.  

 

  而多字节字符集就是一种可变长的字符集,在这种编码中,每个字符的长度可以是一个或多个字节(其实Wide   Character只是MultiByte的一种特例).像UTF8这种就是多字节字符集.  

 

 与此相应的还有一种Single   Byte字符集,像ASCII这种就是单字节字符集. 

 

 由于MultiByte字符集对Single   Byte的兼容性很好,很多程序几乎不用修改就可以正常运行,所以现在大多的多语言应用都会使用UTF8做为其字符集.  

 

如果你想要写一个ANSI串,  
  可以:char   str[]   ="I'm   student"   ;  
  如果你想要写一个Unicode(Wide   Character)串,那么:  
  可以:wchar   str[]   =   L"I'm   student"   ;

 

参考资料:

http://lj2415.blog.163.com/blog/static/11818090200842164932782/

你可能感兴趣的:(MultiByte与Wide_Character的区别)