在Java中将字符串转换为UTF-8字节

在将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+" ");
}