Java編碼轉換

2021-06-27 13:45:24 字數 501 閱讀 9354

public class unicode
gbk轉換成utf-8然後迴轉換成gbk無法還原字元

public class unicode

utf-8轉換成gbk然後迴轉換成utf-8可以還原字元(必須全部是中文,如果包含英文會出錯)

轉碼分析:

utf-8:已三個位元組儲存漢字,乙個位元組儲存英文本母。

gbk:兩個位元組儲存漢字,乙個位元組儲存英文本母。

如果將utf-8轉成成字元陣列如果兩個個漢字加乙個字母則總共7個位元組,

此時更加gbk編碼轉換成unicde,則前六個位元組可以拼裝成三個字,後面乙個位元組gbk無法識別則用3f表示此位元組則丟失了最後乙個位元組

那麼再反向轉換為utf-8則位元組已經丟失。

如果將gbk轉換成utf-8 如果兩個漢字則有四個位元組,然後將位元組陣列封裝成utf-8, utf-8無法識別字元組對應的轉碼後的字元則生成unicode,變成了亂碼。

java編碼轉換

自學筆記 使用string result new string str.getbytes gbk utf 8 是將原來為utf 8的字串,不小心按照gbk格式存放了,而且檔案的格式為utf 8,這種情況能解決亂碼。如果檔案的格式為gbk,上面的 無法解決。需要使用 fileoutputstream ...

java 字串編碼轉換

public class changecharset 將字元編碼轉換成iso 8859 1碼 public static string toiso 8859 1 string str throws unsupportedencodingexception 將字元編碼轉換成utf 8碼 public ...

java獲取字元編碼並轉換

看到別人寫的,也算是一種解決辦法,稍微該了下,用陣列來裝和for迴圈來獲取,這樣要填新編碼方便點.返回傳入字串的編碼格式 param str return public static string getcodetype string str string teststr null try retu...