轉換為位元組
要將字串編碼為位元組陣列,只需使用 String#getBytes()
方法,並在任何 Java 執行時上使用其中一個標準字符集:
byte[] bytes = "test".getBytes(StandardCharsets.UTF_8);
並解碼:
String testString = new String(bytes, StandardCharsets.UTF_8);
你可以使用靜態匯入進一步簡化呼叫:
import static java.nio.charset.StandardCharsets.UTF_8;
...
byte[] bytes = "test".getBytes(UTF_8);
對於不太常見的字符集,你可以使用字串指示字符集:
byte[] bytes = "test".getBytes("UTF-8");
反之亦然:
String testString = new String (bytes, "UTF-8");
但這意味著你必須處理已檢查的 UnsupportedCharsetException
。
以下呼叫將使用預設字符集。預設字符集是特定於平臺的,通常在 Windows,Mac 和 Linux 平臺之間有所不同。
byte[] bytes = "test".getBytes();
反之亦然:
String testString = new String(bytes);
請注意,這些方法可能會替換或跳過無效字元和位元組。為了更好地控制 - 例如驗證輸入 - 你被鼓勵使用 CharsetEncoder
和 CharsetDecoder
類。