字串與UTF 8的相互轉換

2021-07-12 02:57:25 字數 1110 閱讀 7035

//功能: 將unicode字串轉換為utf8字串

//引數:

//返回值:

// 成功返回轉換後的utf8的string字串,失敗則返回空字串

string unicodeconversionutf8(string strdownloadinfo)

if ((dwstrlen=::widechartomultibyte(cp_utf8,0,ca2w(strdownloadinfo.data()),-1,null,0,null,null))==0)

strnew = new char[dwstrlen+1];

if (null == strnew)

if (0 == ::widechartomultibyte(cp_utf8,0,ca2w(strdownloadinfo.data()),-1,strnew,dwstrlen,null,null))

strresurt = strnew;

} __finally }

return strresurt;

}// 功能:將utf8位元組轉換為unicode編碼的字串

// 引數:

// strutf:要轉換的utf8的編碼字串

// 返回值:

// 成功後返回unicode編碼的字串,失敗則返回空字串

string utf8conversionunicode(string strutf)

if (0 == (dwstrlen=::multibytetowidechar(cp_utf8,0,strutf.data(),-1,null,0)))

strnew = new wchar[dwstrlen+1];

if (null == strnew)

zeromemory(strnew,sizeof(tchar)*(dwstrlen+1));

if (0 == ::multibytetowidechar(cp_utf8,0,strutf.data(),-1,strnew,dwstrlen))

strresurt = cw2a(strnew);

} __finally }

return strresurt;

}

GBK和UTF 8的區別與相互轉換

gbk編碼 是指中國的中文字元,其實它包含了簡體中文與正體中文本元,另外還有一種字元 gb2312 這種字元僅能儲存簡體中文本元。utf 8編碼 它是一種全國家通過的一種編碼,如果你的 涉及到多個國家的語言,那麼建議你選擇utf 8編碼。gbk和utf8有什麼區別?utf8編碼格式很強大,支援所有國...

utf 8和gb2312的相互轉換

最近老是涉及到編碼與解碼的問題,gb2312轉utf 8,又或者utf 8轉gb2312 無意中在csdn閒逛發現了乙個cstring 轉utf 8的思路,現摘尋下來,免得到時又找不著了.cstring utf8convert cstring str,int sourcecodepage,int t...

Lua與json字串轉換之UTF8

在lua中讀取json字串時遇到這種字串需要按照utf8的規則對其進行轉碼,將 u x格式的字元轉換成相應的字形,其轉換規則介紹如下 1.先將編碼中的資料轉換為整數,並判斷此編碼是屬於utf8中的幾個位元組編碼,判斷規則如下 unicode ucs 4bit數 utf 8 byte數 備註0000 ...