鍍金池/ 問(wèn)答/Java/ 我想將一個(gè)UTF-8的字符串轉(zhuǎn)換為GBK的字符串并且能正常顯示怎么弄?

我想將一個(gè)UTF-8的字符串轉(zhuǎn)換為GBK的字符串并且能正常顯示怎么弄?

我有一個(gè)字符串哈哈,UTF-8格式,需要轉(zhuǎn)化為GBK并且在GBK環(huán)境下打印出來(lái)還是顯示哈哈,怎么弄???
new String(a.getBytes(),"GBK")這種方式根本不行,這是將字符串的字節(jié)碼轉(zhuǎn)化為GBK不是將字符串轉(zhuǎn)化為GBK...

回答
編輯回答
她愚我
這是將字符串的字節(jié)碼轉(zhuǎn)化為GBK不是將字符串轉(zhuǎn)化為GBK.

字節(jié)才有“GBK”這些概念,字符串只有“字符”的概念,沒(méi)有具體的編碼概念。
編碼是一種實(shí)現(xiàn)方式,字符是一種抽象概念。

所以,你要“GBK”編碼的東西,最終得到的一定是一串字節(jié)信息。

獲取相關(guān)編碼的字節(jié)序列,就是 getBytes(encode) , https://docs.oracle.com/javas...

2017年5月29日 23:51
編輯回答
懶豬

什么叫“GBK”環(huán)境下?Java內(nèi)部統(tǒng)一都是Unicode格式存儲(chǔ)的,只要你能正確讀入,就可以正確打印。

2018年4月27日 16:57
編輯回答
怪痞

你讓String a = "中文" 試一下。

2017年9月23日 18:53