编码格式大总结

                   编码方法大总结

现有的主流编码格式有ansi、utf-8、unicode、gbk

一、ansi

    ascii是7位字符集,它是美国信息交换标准代码的缩写,是为了美国英语通信所设计的。

    为了能表示欧美文字重一些带有音调标号的文字,创建出了包含255个字符的8位ascii字符集,0-127与基本ascii一致,128-255之间的字符用于画图和画线。

二、unicode

        unicode又叫同一码、万国码。

1、是一种在计算机上使用的字符编码;

2、它为每种语言的每个字符都设定了统一并且唯一的二进制编码;

3、能够跨语言、跨平台进行文本转换。

三、utf-8

       utf-8是unicode的一种变长字符编码。utf-8用1到6个字节编码unicode字符。

    如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。

    实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNCODE字符转化成UTF-8将需要至少2个字节。

四、gbk/gb232

       gbk是中文信息处理的国家标准,是中文编码格式。

五、编码格式之间的转换

1、gbk、utf-8转化为unicode

           int n=::MultiByteToWideChar(CP_ACP,0,strHtml.GetBuffer(),-1,NULL,0) ;
	WCHAR *str1=new WCHAR[n];
	MultiByteToWideChar(CP_ACP,0,strHtml.GetBuffer(),-1,str1,n);

                         注:此时的strHtml既为unicode编码的内容。一般在vs的MFC中都是unicode编码,所以的字符串都尽量使用unicode编码,_T("my name is LILei");

2、unicode转化为gbk、utf-8

        举例为:unicode转utf-8

       n=WideCharToMultiByte(CP_UTF8,0,str1,-1,NULL,0,NULL,NULL);
       char * str2=new char[n];
       WideCharToMultiByte(CP_UTF8,0,str1,-1,str2,n,NULL,NULL);
       string strUTFHtml=str2;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值