在将String转换为UTF-8字节之前,让我们看一下UTF-8。
UTF-8是可变宽度的字符编码。UTF-8具有与ASCII一样的压缩能力,但也可以包含任何Unicode字符,但文件大小会有所增加。UTF代表Unicode转换格式。“ 8”表示它分配8位块来表示一个字符。表示一个字符所需的块数从1到4不等。
为了将String转换为UTF-8,我们使用getBytes()
Java中的方法。该getBytes()
方法将String编码为字节序列,然后返回字节数组。
声明-该getBytes()
方法声明如下-
public byte[] getBytes(String charsetName)
其中charsetName是将字符串编码为字节数组的特定字符集。
让我们看一个将Java中的String转换为UTF-8字节的程序。
public class Example { public static void main(String args[]) throws Exception { String s = "Hello World"; byte arr[] = s.getBytes("UTF8"); for (byte x: arr) { System.out.print(x+" "); } } }
输出结果
72 101 108 108 111 32 87 111 114 108 100
让我们了解以上程序。我们创建了一个String s-
String s = "Hello World";
为字符串s分配了值Hello World。
要将其转换为UTF-8,我们使用getBytes(“ UTF-8”)方法。这给我们一个字节数组,如下所示:
byte[] arr = s.getBytes("UTF-8");
然后要打印字节数组,我们使用如下增强的for循环-
for (byte x: arr) { System.out.print(x+" "); }