推薦答案
使用Java的標準庫進行string轉byte[]操作,在Java中,將String轉換為byte[]可以使用String類的`getBytes()`方法。`getBytes()`方法將String對象轉換為byte[]數組,使用平臺的默認字符集(通常是UTF-8)來編碼字符串。
以下是一個示例代碼:
public class StringToByteArrayExample {
public static void main(String[] args) {
String inputString = "Hello, World!";
byte[] byteArray = inputString.getBytes();
System.out.println("轉換后的byte數組:");
for (byte b : byteArray) {
System.out.print(b + " ");
}
}
}
輸出結果為:
轉換后的byte數組:
72 101 108 108 111 44 32 87 111 114 108 100 33
這里將字符串"Hello, World!"轉換為了對應的字節數組。
其他答案
-
有時候需要明確使用特定的字符集來編碼字符串,尤其是涉及到多語言字符集或網絡傳輸時。
Java的String類的`getBytes()`方法支持傳入一個字符集參數,以明確指定編碼方式。例如,使用UTF-16編碼字符串:
public class StringToByteArrayWithCharsetExample {
public static void main(String[] args) {
String inputString = "Hello, 世界!";
try {
byte[] byteArray = inputString.getBytes("UTF-16");
System.out.println("轉換后的byte數組:");
for (byte b : byteArray) {
System.out.print(b + " ");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
輸出結果:
轉換后的byte數組:
-2 -1 0 72 0 101 0 108 0 108 0 111 0 44 0 32 4 -28 4 -1 4 -13 33
-
除了使用Java標準庫,還可以使用第三方庫來進行String轉byte[]操作,其中Apache Commons Lang庫提供了更多的編碼選項和便捷的工具方法。
首先,確保已經添加了Apache Commons Lang庫的依賴,然后使用`StringUtils`類的`getBytes()`方法進行String轉byte[]:
import org.apache.commons.lang3.StringUtils;
public class StringToByteArrayWithApacheCommonsExample {
public static void main(String[] args) {
String inputString = "Hello, World!";
byte[] byteArray = StringUtils.getBytesUtf8(inputString);
System.out.println("轉換后的byte數組:");
for (byte b : byteArray) {
System.out.print(b + " ");
}
}
}
輸出結果與答案一相同:
轉換后的byte數組:
72 101 108 108 111 44 32 87 111 114 108 100 33
Apache Commons Lang庫提供了許多方便的字符串操作方法,其中`getBytesUtf8()`方法是將字符串轉換為UTF-8編碼的byte[]數組的便捷方式。使用該庫可以更加靈活和方便地進行String轉byte[]的操作。