免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
CString與utf
//string類型的utf-8字符串轉(zhuǎn)為CString類型的unicode字符串CString ConvertUTF8ToCString( std::string utf8str ){    /* 預(yù)轉(zhuǎn)換,得到所需空間的大小 */    int nLen = ::MultiByteToWideChar( CP_UTF8, NULL,                      utf8str.data(), utf8str.size(), NULL, 0 );    /* 轉(zhuǎn)換為Unicode */    std::wstring wbuffer;    wbuffer.resize( nLen );    ::MultiByteToWideChar( CP_UTF8, NULL, utf8str.data(), utf8str.size(),                   (LPWSTR) (wbuffer.data() ), wbuffer.length() );#ifdef UNICODE    return(CString( wbuffer.data(), wbuffer.length() ) );#else    /*     * 轉(zhuǎn)換為ANSI     * 得到轉(zhuǎn)換后長度     */    nLen = WideCharToMultiByte( CP_ACP, 0,                    wbuffer.data(), wbuffer.length(), NULL, 0, NULL, NULL );    std::string ansistr;    ansistr.resize( nLen );    /* 把unicode轉(zhuǎn)成ansi */    WideCharToMultiByte( CP_ACP, 0, (LPWSTR) (wbuffer.data() ), wbuffer.length(),                 (LPSTR) (ansistr.data() ), ansistr.size(), NULL, NULL );    return(CString( ansistr.data(), ansistr.length() ) );#endif}
//CString類型的unicode字符串轉(zhuǎn)為string類型的utf-8字符串string _UnicodeToUtf8(CString Unicodestr){        wchar_t* unicode = Unicodestr.AllocSysString();	int len;	len = WideCharToMultiByte(CP_UTF8, 0, unicode, -1, NULL, 0, NULL, NULL);	char *szUtf8 = (char*)malloc(len + 1);	memset(szUtf8, 0, len + 1);	WideCharToMultiByte(CP_UTF8, 0, unicode, -1, szUtf8, len, NULL, NULL);	string result = szUtf8;	free(szUtf8);	return result;}
//string轉(zhuǎn)const char*string str = "abc";const char* result= str.c_str();
//CString轉(zhuǎn)char*CString str;USES_CONVERSION;char * result= T2A(str);
//判斷字符是否為UTF-8編碼方式,是就返回true,否則返回falsebool _is_str_utf8(string src){    const char* str= src.c_str();	unsigned int nBytes = 0;//UFT8可用1-6個字節(jié)編碼,ASCII用一個字節(jié)	unsigned char chr = *str;	bool bAllAscii = true;	for (unsigned int i = 0; str[i] != '\0'; ++i){		chr = *(str + i);		//判斷是否ASCII編碼,如果不是,說明有可能是UTF8,ASCII用7位編碼,最高位標(biāo)記為0,0xxxxxxx		if (nBytes == 0 && (chr & 0x80) != 0){			bAllAscii = false;		}		if (nBytes == 0) {			//如果不是ASCII碼,應(yīng)該是多字節(jié)符,計算字節(jié)數(shù)			if (chr >= 0x80) {				if (chr >= 0xFC && chr <= 0xFD){					nBytes = 6;				}				else if (chr >= 0xF8){					nBytes = 5;				}				else if (chr >= 0xF0){					nBytes = 4;				}				else if (chr >= 0xE0){					nBytes = 3;				}				else if (chr >= 0xC0){					nBytes = 2;				}				else{					return false;				}				nBytes--;			}		}		else{			//多字節(jié)符的非首字節(jié),應(yīng)為 10xxxxxx			if ((chr & 0xC0) != 0x80){				return false;			}			//減到為零為止			nBytes--;		}	}	//違反UTF8編碼規(guī)則	if (nBytes != 0) {		return false;	}	if (bAllAscii){ //如果全部都是ASCII, 也是UTF8		return true;	}	return true;}
//string轉(zhuǎn)CStringstring str = "1234";CString result = CString(str.c_str());
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Unicode,UTF8互轉(zhuǎn)
字符串和數(shù)字之間的轉(zhuǎn)換(Unicode)
UNICODE下CString轉(zhuǎn)換為char*
UTF8到Unicode
char 轉(zhuǎn)wchar_t 及wchar_t轉(zhuǎn)char - 雨點(diǎn)的日志 - 網(wǎng)易博客
CStdioFile.ReadString讀取中文產(chǎn)生亂碼解決方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服