字符集之間轉換(utf-8,unicode,gb2312)
特蒐集了utf-8,unicode,gb2312他們3個之間的相互轉換.
utf-8: 1~3位元組可變
unicode: 2位元組乙個字元
gb2312: 1位元組乙個字元
例子: 「你」字的utf-8編碼: e4 bd a0 11100100 10111101 10100000
「你」的unicode編碼: 4f 60 01001111 01100000
按照utf-8的編碼規則,分解如下:***x0100 xx111101 xx100000
把除了x之外的數字拼接在一起,就變成「你」的unicode編碼了。
注意utf-8的最前面3個1,表示整個utf-8串是由3個位元組構成的。
經過utf-8編碼之後,再也不會出現敏感字元了,因為最高位始終為1。
類定義
class cchinesecode
;
類實現
void cchinesecode::utf_8tounicode(wchar_t* pout,char *ptext)
void cchinesecode::unicodetoutf_8(char* pout,wchar_t* ptext)
void cchinesecode::unicodetogb2312(char* pout,wchar_t udata)
void cchinesecode::gb2312tounicode(wchar_t* pout,char *gbbuffer)
void cchinesecode::gb2312toutf_8(string& pout,char *ptext, int plen)
else
}
rst[j] = '';
//返回結果
pout = rst;
delete rst;
return;
}
void cchinesecode::utf_8togb2312(string &pout, char *ptext, int plen)
else
}
newbuf[j] = '';
pout = newbuf;
delete newbuf;
return;
}
字符集之間轉換
字符集之間轉換 特蒐集了utf 8,unicode,gb2312他們3個之間的相互轉換.utf 8 3位元組乙個字元 unicode 2位元組乙個字元 gb2312 1位元組乙個字元 例子 你 字的utf 8編碼 e4 bd a0 11100100 10111101 10100000 你 的unic...
C 對字串轉換字符集(編碼)
最近,linux上遇到string為漢字時,需要轉碼存入到資料庫中,將轉碼的函式及其方法記錄一下。見函式 標頭檔案是 include fromcode 源string使用的字符集,如 utf 8 對於漢字每個漢字為3個位元組儲存 tocode 目的string使用的字符集,如 gb2312 對於漢字...
PHP之字串所使用的字符集處理及轉換
encode mb detect encoding str,array ascii gb2312 gbk utf 8 方法詳見php手冊,要注意的是,如果 str會匹配陣列指定的多個字符集,那麼以匹配到的第乙個字符集為準。比如 如果 str既是gb2312 euc cn 又是是gbk cp936 還...