通過String類將String轉換成byte[]或者byte[]轉換成String

用String.getBytes()方法將字符串轉換爲byte數組,通過String構造函數將byte數組轉換成String

注意:這種方式使用平臺默認字符集

複製代碼
package com.bill.example;

public class StringByteArrayExamples
{
public static void main(String[] args)
{
//Original String
String string = “hello world”;

    //Convert to byte[]
    byte[] bytes = string.getBytes();
     
    //Convert back to String
    String s = new String(bytes);
     
    //Check converted string against original String
    System.out.println("Decoded String : " + s);
}

}
複製代碼
輸出:

hello world
通過Base64 將String轉換成byte[]或者byte[]轉換成String[Java 8]
可能你已經瞭解 Base64 是一種將二進制數據編碼的方式,正如UTF-8和UTF-16是將文本數據編碼的方式一樣,所以如果你需要將二進制數據編碼爲文本數據,那麼Base64可以實現這樣的需求

從Java 8 開始可以使用Base64這個類

複製代碼
import java.util.Base64;
public class StringByteArrayExamples
{
public static void main(String[] args)
{
//Original byte[]
byte[] bytes = “hello world”.getBytes();

    //Base64 Encoded
    String encoded = Base64.getEncoder().encodeToString(bytes);
     
    //Base64 Decoded
    byte[] decoded = Base64.getDecoder().decode(encoded);
     
    //Verify original content
    System.out.println( new String(decoded) );
}

}
複製代碼
輸出:

hello world
總結
在byte[]和String互相轉換的時候你應該注意輸入數據的類型

當使用String類的時候,將String作爲輸入類型
當使用Base64類的時候,使用byte數組作爲輸入類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章