一、什麼是Java String轉Byte
在Java開發中,我們經常需要將字元串轉換成位元組,這在處理網路、文件等數據時非常有用。因此,Java提供了String類的getBytes()方法,該方法可以將字元串轉換成位元組數組。
二、String轉Byte方法的語法
getBytes()方法的語法如下:
public byte[] getBytes()
該方法返回一個新的位元組數組,包含此字元串的字元序列所表示的字元,按照平台的默認字符集轉換為位元組。
三、Java String轉Byte方法的使用
下面是一個簡單的Java程序,它演示了如何使用getBytes()方法將字元串轉換為位元組數組:
public class StringToByteExample {
public static void main(String[] args) {
String str = "Hello, world!";
byte[] bytes = str.getBytes();
for (byte b : bytes) {
System.out.print(b + " ");
}
}
}
輸出結果:
72 101 108 108 111 44 32 119 111 114 108 100 33
該程序將字元串”Hello, world!”轉換為一個位元組數組,並使用for循環列印了每個位元組的值。
四、指定字符集轉換字元串為位元組數組
getBytes()方法還有一個重載的版本,它允許您指定用於轉換字元串的字符集。例如:
public class StringToByteExample {
public static void main(String[] args) {
String str = "Hello, 世界!";
try {
byte[] bytes = str.getBytes("UTF-8");
for (byte b : bytes) {
System.out.print(b + " ");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
輸出結果:
72 101 108 108 111 44 32 -26 -100 -84 -28 -72 -83 -27 -101 -67 33
在這個例子中,字元串包含一個非ASCII字元”世”,這個字元不能用默認的字符集(即ISO-8859-1)來表示。因此,我們使用UTF-8字符集來將字元串轉換為位元組數組。
五、使用Base64編碼/解碼字元串
在處理網路協議數據、加密等場景中,使用base64編碼/解碼字元串也非常常見。Java提供了Base64類,可以用來將位元組數組和字元串進行Base64編碼/解碼。例如:
import java.util.Base64;
public class Base64Example {
public static void main(String[] args) {
String str = "Hello, world!";
byte[] bytes = str.getBytes();
String encodedString = Base64.getEncoder().encodeToString(bytes);
System.out.println(encodedString);
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
String decodedString = new String(decodedBytes);
System.out.println(decodedString);
}
}
輸出結果:
SGVsbG8sIHdvcmxkIQ==
Hello, world!
該程序使用Base64類將字元串編碼為base64字元串,並將base64字元串解碼回原始字元串。如果您需要細節控制,也可以使用Base64類的其他方法。
六、小結
本文介紹了Java中如何將字元串轉換為位元組數組,並進一步講解了如何使用Base64編碼/解碼字元串。希望本文的內容能對您進行相關Java開發工作提供幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/244486.html