b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

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

电脑杂谈  发布时间:2017-05-01 06:02:21  来源:网络整理

1. 不要出现在程序中出现这样的定义 wchar_t fullstop = L"hello";这是奇怪的定义,这个本意是想让字符fullstop等于字符"hello",但是要知道"hello"只有在unicode编码文件中才能识别为hello这个单词。而vc6,它也是文本处理器,它默认的编码标准是ansi encoding,所以写上这样的一句表达示,会有些奇怪的问题出现,结果肯定是不对的。ansi和unicode互转工具--免杀版rar但是到了EVC 4.0 或者VS2005 中必须要这样写因为这两个开发环境是unicode 编码的。所以处理字符串的时候如CString 类型一定要进行多字节的转换,也就是告诉编译器把unicode(2字节) 转换到ansi(1字节),经典转换方法有两种如下:

1. CString to ansi char

CString m_address;

char ansiRemoteHost[255];

ZeroMemory(ansiRemoteHost,255);

WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,m_address,wcslen(m_address),

ansiRemoteHost,wcslen(m_address),NULL,NULL);

ansi char to CString

CString MyExam::CharToUnicode(BYTE* buf, DWORD bufSize)

{

CString csTemp;

WCHAR *UnicodeStr=new WCHAR[bufSize+1];

unicode转ascii_unicode编码_ansi和unicode互转工具--免杀版rar

DWORD UnicodeSize=MultiByteToWideChar(CP_ACP,0,

(LPCSTR)buf,bufSize+1,UnicodeStr,(DWORD)bufSize+1);

csTemp=UnicodeStr;

delete [] UnicodeStr;

return (csTemp);

}

2. 利用wcstombs and mbstowcs

CString to ansi char

CString m_sendData;

char* sendBuf=new char[m_sendData.GetLength()*2];

wcstombs(sendBuf,m_sendData,m_sendData.GetLength());

ansi char to CString

CString GetLocalIP()

{

HOSTENT* LocalAddress;

char * Buff=new char[256];

TCHAR *wBuff=new TCHAR[256];

memset(Buff,'/0',256);

memset(wBuff,L'/0',256*sizeof(TCHAR));

if(gethostname(Buff,256)==0)

{

mbstowcs(wBuff,Buff,256);

LocalAddress=gethostbyname(Buff);

memset(Buff,L'/0',256);

sprintf(Buff,"%d.%d.%d.%d/0",LocalAddress->h_addr_list[0][0]&0xff,LocalAddress->h_addr_list[0][1]&0x00ff,LocalAddress->h_addr_list[0][2]&0x0000ff,LocalAddress->h_addr_list[0][3]&0x000000ff);

memset(wBuff,L'/0',256*sizeof(TCHAR));

mbstowcs(wBuff,Buff,256);

strReturn=wBuff;

}

delete [] Buff;

delete [] wBuff;

return strReturn;

}

只要掌握这两种转化方法在unicode 的环境中进行编程就不回出现问题了。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-44502-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 陈新妍
      陈新妍

      男同

    • 王湾
      王湾

      使得多余的男性成为女性的消费品

    • 虞姬
      虞姬

      深寒魅影的意思是围攻定镇二舰的日本舰队发射的大量炮弹均未能击穿定远镇远的主装甲

    热点图片
    拼命载入中...