ansi和unicode互转工具--免杀版rar_unicode编码_unicode转ascii

1个回答

写回答

爱设计过

2024-09-11 00:00

+ 关注

时不常就要用一下,老是记不住,放空间里,做个备忘录了。1。char数组转化为CString。(1)方法一:charcBuf[]={0x31,0x32,0x33};//_T("123")CStringstr=_T("");#ifdef_UNICODE//Ansi码转化为unicode码WCHARwTmp[BUF_SIZE]={};//转换为unicode码if(0==MultiByteToWideChar(CP_ACP,0,(LPCSTR)cBuf,-1,wTmp,BUF_SIZE)){assert(false);}else{CStringstrTmp(wTmp);}#elseCStringstrTmp(cBuf);#endif//_UNICODE(2)方法二:charcBuf[]={0x31,0x32,0x33};//_T("123")CStringstr=_T("");#ifdef_UNICODEUSES_CONVERSION;LPTSTRpStr=A2W((char*)cBuf);str。

Format(_T("%s"),pStr);#elsestr。Format(_T("%s"),cBuf);#endif//_UNICODE2。ansi和unicode互转工具--免杀版rarwchar数组转化为CString。

(1)方法一:wcharcBuf[]={0x31,0x00,0x32,0x00,0x33,0x00};//_T("123")CStringstr=_T("");#ifdef_UNICODECStringstrTmp(cBuf);#else//unicode码转化为Ansi码charaTmp[BUF_SIZE]={};//转换为ANSI码if(0==WideCharToMultiByte(CP_ACP,0,cBuf,-1,aTmp,BUF_SIZE,NULL,NULL)){assert(false);}else{CStringstrTmp(aTmp);}#endif//_UNICODE(2)方法二:wcharcBuf[]={0x31,0x00,0x32,0x00,0x33,0x00};//_T("123")CStringstr=_T("");#ifdef_UNICODECStringstrTmp(cBuf);#else//unicode码转化为Ansi码USES_CONVERSION;char*pStr=W2A(strAlarmId);str。

Format(_T("%s"),pStr);#endif//_UNICODE//-----------------------------------------------------总结-------------------------------------------------------------ansi以2个字节表示一个字符,unicode以一个字节表示一个字符。

比如’0’,unicode编码表示为0x0030,而ansi表示为0x30,就这个差别。但是表现在文件中时,一般区分文件是unicode还是ansi,就是要看文件的开始两个字节是不是0xFEFF,是则为unicode否即为ansi。

举报有用(17分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号