getBytes()
方法将给定的String
编码为字节序列并返回字节数组。该方法可以以下两种方式使用:
public byte[] getBytes(String charsetName)
:使用指定的字符集将String
编码为字节序列,并返回这些字节的数组。抛出UnsupportedEncodingException
– 如果不支持指定的字符集。
public byte[] getBytes()
:它使用默认的charset
对String
进行编码。
示例:getBytes()
方法
import java.io.*;
public class GetBytesExample{
public static void main(String args[]){
String str = new String("Hello");
byte[] array1 = str.getBytes();
System.out.print("Default Charset encoding:");
for(byte b: array1){
System.out.print(b);
}
System.out.print("\nUTF-16 Charset encoding:");
try{
byte [] array2 = str.getBytes("UTF-16");
for(byte b1: array2){
System.out.print(b1);
}
byte [] array3 = str.getBytes("UTF-16BE");
System.out.print("\nUTF-16BE Charset encoding:");
for(byte b2: array3){
System.out.print(b2);
}
}catch(UnsupportedEncodingException ex){
System.out.println("Unsupported character set"+ex);
}
}
}
输出:
Default Charset encoding:72101108108111
UTF-16 Charset encoding:-2-10720101010801080111
UTF-16BE Charset encoding:0720101010801080111
在上面的例子中,我们使用字符集UTF -16
和UTF - 16BE
进行了编码,还有许多其他标准字符集,如:
US-ASCII
:七位 ASCII,又称 ISO646-US,又称 Unicode 字符集的 Basic Latin 块ISO-8859-1
:ISO 拉丁字母第 1 号,又称 ISO-LATIN-1UTF-8
:8 位 UCS 转换格式UTF-16BE
:16 位 UCS 转换格式,大端字节顺序UTF-16LE
:16 位 UCS 转换格式,小端字节顺序UTF-16
:16 位 UCS 转换格式,字节顺序由可选字节顺序标记标识。