下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 windows下ANSI、Unicode、UTF-8编码转换代码

windows下ANSI、Unicode、UTF-8编码转换代码.doc

windows下ANSI、Unicode、UTF-8编码转换代码

胡翠林
2018-04-13 0人阅读 举报 0 0 暂无简介

简介:本文档为《windows下ANSI、Unicode、UTF-8编码转换代码doc》,可适用于活动策划领域

windows下ANSI、Unicode、编码转换代码windows下ANSI、Unicode、编码转换几种编码方式的说明()ANSI:一般的txt编码都是ANSI(可以通过另存为指定其它编码方式)在cc中的char、unsignedchar等均属于该类型()Unicode:分为、和一般在Windows里面提到Unicode编码方式默认指的是):使用字节来表示字符常用的ASCII字符使用字节汉字一般都是字节):统一使用字节表示所有字符(不考虑所谓的代理)现在广泛的应用于Windows系统):统一使用字节表示所有字符。转换前准备string、wstring#include<string>cout、wcoutchar、wchart使用wcout输出wstring时需要加上setlocale(LCALL,"")设置输出窗口的编码方式否则无法输出。编码转换采用Windows提供的API接口函数MultiByteToWideChar和MultiByteToWideChar来实现便慢慢转换程序如下:()ANSI和Unicode的相互转换Windows下Unicode指的是voidstringwstring(conststringstr,wstringwstr){if(str=="")returnwstr=L""intwlen=MultiByteToWideChar(CPACP,,strcstr(),,,)wchart*pwc=newwchartwlenmemset((char*)pwc,,wlen*)MultiByteToWideChar(CPACP,,strcstr(),,pwc,wlen)wstr=pwc*unsignedchar*p=(unsignedchar*)pwcfor(inti=i<wlen*i)cout<<uppercase<<hex<<int(pi)<<""cout<<endl*deletepwc}()Unicode转向ANSIstringwstringstring(constwstringwstr,stringstr){if(wstr==L"")returnstrstr=""intlen=WideCharToMultiByte(CPACP,,wstrcstr(),,,,,)unsignedchar*pc=newunsignedcharlenmemset(pc,,len)WideCharToMultiByte(CPACP,,wstrcstr(),,(char*)pc,len,,)str=(char*)pc*for(inti=i<leni)cout<<uppercase<<hex<<int(pci)<<""cout<<endl*deletepcreturnstr}()转向unicode注意文本的开头会有xEF、xBB和xBF作为标记voidstringwstring(conststringstr,wstringwstr){if(str=="")returnstringstrif(strsize()>(unsignedchar)str==xEF(unsignedchar)str==xBB(unsignedchar)str==xBF)str=strsubstr()elsestr=strwstr=L""intlen=strsize()intwlen=MultiByteToWideChar(CP,,strcstr(),,,)wchart*pwc=newwchartwlenmemset((char*)pwc,,wlen*)MultiByteToWideChar(CP,,strcstr(),,pwc,wlen)wstr=pwc*unsignedchar*p=(unsignedchar*)pwcfor(inti=i<wlen*i)cout<<uppercase<<hex<<int(pi)<<""cout<<endl*deletepwc}()Unicode转向Unicode文本的开头是xFF和xFEstringwstringstring(constwstringwstr,stringstr){if(wstr==L"")returnstrstr=""intlen=WideCharToMultiByte(CP,,wstrcstr(),,,,,)unsignedchar*pc=newunsignedcharlenmemset(pc,,len)WideCharToMultiByte(CP,,wstrcstr(),,(char*)pc,len,,)str=(char*)pc*for(inti=i<leni)cout<<uppercase<<hex<<int(pci)<<""cout<<endl*deletepcreturnstr}

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/5

windows下ANSI、Unicode、UTF-8编码转换代码

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利