码迷,mamicode.com
首页 > Windows程序 > 详细

windows下多字节和宽字节转换

时间:2016-09-07 19:21:25      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

先简单说下什么是多字节和宽字节。

多字节是指使用多个字节(1-3)表示一个字符。比如gbk使用英文占一个字节,中文占2个,这个就是多字节了。utf-8是使用1-3个字节表示字符。还有big5等等。

宽字节一般是固定使用2个字节表示一个字符,utf-16(一般就是指unicode)。

1、MultiByteToWideChar 多字节转宽字节

2、WideCharToMultiByte 宽字节转多字节

3、和utf8有关的字符转换,代码页CodePage=CP_UTF8。

4、代码页CodePage=CP_ACP,一般使用系统当前使用的代码页。比如在简体中文(中国等)区域下,CP_ACP表示gbk编码的936代码页。在繁体中文(台湾),CP_ACP表示big5编码的950代码页。

5、CodePage代码页一般填写的是多字节代码页。

 

在程序中,一般最好使用unicode字符集显示字符,Windows的内核就是用unicode编码的,unicode字符集包含了世上大多数字符。unicode在windows下的不同本地环境下都能是正常显示。

但是在使用字符串和其他程序进程(本地进程或者远端进程)进行交互时,最好使用utf8编码字符。

原因是:utf8可以表示最多的字符,所有系统通用,且不像宽字节一样每个字符都要两个字节表示,数字和字母等都是使用一个字节表示,有时可以节省大量字符串流。

 

windows下多字节和宽字节转换

标签:

原文地址:http://www.cnblogs.com/lisuyun/p/5850424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!