最近在寫乙個根據模板標籤生成word的專案,在本地測試無問題但是放到伺服器上會出現生成字元亂碼的情況,
考慮到gbk轉utf-8使用getbytes只有在長度為奇數時才會出現精度丟失,想到給byte補全至偶數。
具體**如下
/**
* byte轉16進製制字串
*@param bytearray
*@return
*/public
static string printhex(byte bytearray)
return sb.tostring();
};/**
* 16進製制轉byte
*@param str
*@return
*/public
static
byte hexstrtobytearray(string str)
if (str.length() == 0)
byte bytearray = new
byte[str.length() / 2];
for (int i = 0; i < bytearray.length; i++)
return bytearray;
}
測試
private final static string space = "eea092";//全形空格
public
static
void
main(string args) throws unsupportedencodingexception
結果
未修改之前:測試啊誰�?
修改之後:測試啊誰說
可以根據使用場景更改,當長度為偶數時不增加,我這裡就不寫了
C實現utf8與gbk互轉
在實現解析上傳後的csv檔案時,發現excel是gbk編碼,c解析的時候亂碼,翻資料找到這篇部落格 c和c 實現字元轉碼 在移植到arm上後,發現liconv函式通過cgi無法正常呼叫,從shell中是可以正常呼叫的,就很奇怪。然後今晚沒找到好的解決方法,就棄用這個函式了,直接用命令列的方式將檔案的...
GBK與UTF 8的區別
gbk的文字編碼是雙位元組來表示的,即不論中 英文本元均使用雙位元組來表示,只不過為區分中文,將其最高位都定成1。至於utf 8編碼則是用以解決國際上字元的一種多位元組編碼,它對英文使用8位 即乙個位元組 中文使用24位 三個位元組 來編碼。對於英文本元較多的論壇則用utf 8節省空間。gbk包含全...
gbk與utf 8的區別
很多使用者問gbk與utf 8版本有什麼區別,這邊作了個整理如下 kesioncms的gbk版本與utf 8版本功能是一樣的 只不過編碼方式不同。gbk的文字編碼是雙位元組來表示的,即不論中 英文本元均使用雙位元組來表示,只不過為區分中文,將其最高位都定成1。至於utf 8編碼則是用以解決國際上字元...