溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決java中string的亂碼問題

發布時間:2020-06-21 15:21:51 來源:億速云 閱讀:1351 作者:元一 欄目:編程語言

 java string亂碼解決方法:

System.out.println(str);
            String str1 = new String(str.getBytes("ISO-8859-1"), "utf-8");
            System.out.println(str1);
            String str2 = new String(str.getBytes("gb2312"), "utf-8");
            System.out.println(str2);
            String str3 = new String(str.getBytes("gbk"), "utf-8");
            System.out.println(str3);

str.getBytes(charsetName);charsetName是原本字符的編碼

"utf-8"是將str轉換為utf-8編碼。

new String(str.getBytes(“gbk”),“iso8859-1”)時

第一步:byte[] bytes=str.getBytes(“gbk”)

告訴java虛擬機將中文以“gbk”的方式轉換為字節數組。一個漢字對應兩個字節。

對應的第二步便是:

String s=new String(bytes,“iso8859-1”)時,此時是將每1字節組裝成一個“?” 。此時的s是若干個“?”,我們可以把“?”看做是一種特殊的漢字,它代表的信息并沒有損失是可以還原回來的。

java.lang.String.getBytes(String charsetName) 方法編碼將此String使用指定的字符集的字節序列,并將結果存儲到一個新的字節數組。

聲明

以下是java.lang.String.getBytes()方法的聲明

public byte[] getBytes(String charsetName) throws UnsupportedEncodingException

參數:charset -- 這是一個支持的字符集的名稱。

返回值:此方法返回得到的字節數組。

new String(byte[],decode)方法

與getBytes相對的,可以通過new String(byte[], decode)的方式來還原這個"中"字,

這個new String(byte[],decode)實際是使用指定的編碼decode來將byte[]解析成字符串.

異常:UnsupportedEncodingException -- 如果不支持指定的字符集。

補充:

字符串廣泛應用 在 Java 編程中,在 Java 中字符串屬于對象,Java 提供了 String 類來創建和操作字符串。String 類有 11 種構造方法,這些方法提供不同的參數來初始化字符串,String 類是不可改變的,所以你一旦創建了 String 對象,那它的值就無法改變了,如果需要對字符串做很多修改,那么應該選擇使用 StringBuffer & StringBuilder 類。

以上就是java中string亂碼解決方法介紹的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女