String中文字元轉碼

2022-09-15 13:00:16 字數 682 閱讀 5013

如何使用string構造方法和string.getbytes()做好中文字元轉碼

1

@test

2public

void

test() catch

(unsupportedencodingexception e)

30 }

為什麼使用iso8859-1編碼再組合之後,無法還原"中"字呢?

其實原因很簡單,因為iso8859-1編碼的編碼表中,沒有包含漢字字元,當然也就無法通過"中".getbytes("iso8859-1");來得到正確的"中"字在iso8859-1中的編碼值了,所以再通過new string()來還原就無從談起了.

有時候,為了讓中文字元適應某些特殊要求(如http header頭要求其內容必須為iso8859-1編碼),可能會通過將中文字元按照位元組方式來編碼的情況,如:

string s_iso88591 = new string("中".getbytes("utf-8"),"iso8859-1"),這樣得到的s_iso8859-1字串實際是三個在iso8859-1中的字元,在將這些字元傳遞到目的地後,目的地程式再通過相反的方式string s_utf8 = new string(s_iso88591.getbytes("iso8859-1"),"utf-8")來得到正確的中文漢字"中".這樣就既保證了遵守協議規定、也支援中文.

QString和string互轉中文字元

string qstring 1 std string strstd 中文字元 2qstring strq qstring fromlocal8bit strstd.c str qstring string 1 qstring strq 中文字元 2std string strstd strq.to...

輸出中文字元

輸出中文字元 要想在圖形中輸出中文字元,需要對輸出的中文字元進行編碼。使用iconv 函式,可以把一種編碼的字元,轉換為其他編碼的字元。下面介紹在圖形中輸出中文字元的方法,建立乙個新圖形 image imagecreate 400,200 設定背景,分配顏色 bgcolor imagecoloral...

MySQL不能插入中文字元及中文字元亂碼問題

mysql的預設編碼是latin1,不支援中文,要支援中午需要把資料庫的預設編碼修改為gbk或者utf8。在安裝後mysql之後,它的配置檔案不是很給力,不知道你們的是不是,反正我的是!開始插入中文字元的時候出現如下錯誤 error 1366 hy000 incorrect string value...