中文在線轉(zhuǎn)換 用unicode編碼表可以把文字編碼成二進制?
用unicode編碼表可以把文字編碼成二進制?怎么將中文轉(zhuǎn)化為二進制?對于GBK(“GB2312”),一個漢字對應(yīng)兩個字節(jié),對于uft8(“UTF-8”),一個漢字對應(yīng)三個字節(jié)。對于uft8,qstr
用unicode編碼表可以把文字編碼成二進制?
怎么將中文轉(zhuǎn)化為二進制?
對于GBK(“GB2312”),一個漢字對應(yīng)兩個字節(jié),對于uft8(“UTF-8”),一個漢字對應(yīng)三個字節(jié)。對于uft8,qstringstr=“middle”qtextcodec*code=qtextcodec::codeforname(“UTF-8”)//對于uft8,qbytearrayba=code->fromucode(STR)for(inti=0I)和ltba.計數(shù)()i){無符號ChartEmptEmp=文學(xué)學(xué)士(i) Qdebug()$amp}打印出“middle”的三個代碼,如下所示:文學(xué)學(xué)士(i) =228文學(xué)學(xué)士(i) =184文學(xué)學(xué)士(i) =173228到二進制:11100184到二進制:10111000173到二進制:10101101
1。從原理上講,二進制可以通過先將二進制轉(zhuǎn)換為十六進制,再利用十六進制與漢字的對應(yīng)關(guān)系來轉(zhuǎn)換為漢字。2C版本的代碼如下:private string binarytochinese(string input){StringBuilder sb=new StringBuilder()//create string int numobytes=輸入長度/8//計算尾數(shù)byte[]bytes=新字節(jié)[numofbytes]//二進制(int i=0 inumobytes i){字節(jié)[i]=轉(zhuǎn)換為字節(jié)( 輸入子字符串(8*i,8),2) //將字符串轉(zhuǎn)換為相應(yīng)的二進制}返回系統(tǒng)文本編碼. Unicode.GetString(bytes)//解碼漢字時}
GBK(“GB2312”)編碼,一個漢字對應(yīng)兩個字節(jié),uft8(“UTF-8”)編碼,一個漢字對應(yīng)三個字節(jié),uft8編碼:qstring STR=“middle”qtextcodec*code=qtextcodec::codeforname(“UTF-8”)//uft8編碼qbytearray Ba=code->fromunicode(STR)for(int i=0I)