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:72101108108111UTF-16 Charset encoding:-2-10720101010801080111UTF-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 转换格式,字节顺序由可选字节顺序标记标识。