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

熱問(wèn)標(biāo)簽 更多>>
人氣閱讀
大家都在問(wèn) 更多>>
java虛函數(shù)的作用是什么,怎么用
java讀取相對(duì)路徑配置文件怎么操...
java靜態(tài)代碼塊和構(gòu)造方法執(zhí)行順...