Java字符串getBytes()函数的完整指南

957 阅读2分钟

Java字符串getBytes方法使用用户指定的字符集将字符串编码为字节序列,并将结果存储在字节数组中。

Java字符串getBytes()

Java String getBytes()是一个内置方法,它可以帮助我们将给定的字符串编码为字节码序列并返回一个字节数组。getBytes()函数使用指定的字符集将StrString编码为一个字节序列,并返回这些字节的数组。此外,它抛出UnsupportedEncodingException - 如果指定的字符集不被支持。

getBytes()函数可以用两种方式实现。

public byte[] getBytes(String charsetName)

该方法使用一些指定的字符集将一个字符串编码为一串字节,并返回这些字节的数组。如果指定的字符集不被支持,它会抛出一个名为 UnsupportedEncodingException的 异常

请看下面的String getBytes()的程序:

import java.io.*;

class GetBytes {
    public static void main(String args[]) {

        String str = "Welcome to Appdividend";
        System.out.println("The String before conversion is : ");
        System.out.println(str);
        // converting the string into byte
        // using getBytes ( converts into ASCII values )
        byte[] arr = str.getBytes();

        // Displaying converted string after conversion
        System.out.println("The String after conversion is : ");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]);
        }
        System.out.println("\n");
    }
}

请看下面的输出:

Java String getBytes()

public byte[] getBytes()

它将String编码为默认的charset方法。在Java中定义了一些默认的字符集;其中一些是。

  1. US-ASCII: 七位ASCII,又称ISO646-US,又称Unicode字符集的基本拉丁区块
  2. ISO-8859-1: ISO Latin Alphabet No.1,又称ISO-LATIN-1
  3. UTF-8: 八位UCS转换格式
  4. UTF-16BE: 十六位UCS转换格式,字节顺序为big-endian
  5. UTF-16LE: 十六位UCS转换格式,小数位字节顺序
  6. UTF-16: 16位UCS转换格式,字节顺序由一个可选的字节顺序标记标识。

请看下面getBytes()函数的编程例子:

import java.io.*;

class GetBytes {
   public static void main(String args[]) {
      String str = new String("Welcome to Appdividend");
      byte[] array1 = str.getBytes();

      // Printing default charset encoding
      System.out.print("Default Charset encoding:");
      for (byte b : array1) {
         System.out.print(b);
      }
      // printing UTF-16 Charset encoding
      System.out.print("\nUTF-16 Charset encoding:");
      try {
         byte[] array2 = str.getBytes("UTF-16");
         for (byte b1 : array2) {
            System.out.print(b1);
         }
         // converting UTF-16BE encoding
         byte[] array3 = str.getBytes("UTF-16BE");
         System.out.print("\nUTF-16BE Charset encoding:");
         for (byte b2 : array3) {
            System.out.print(b2);
         }
         System.out.println("\n");
         // throwing exception
      } catch (UnsupportedEncodingException ex) {
         System.out.println("Unsupported character set" + ex);
      }
   }
}

请看输出结果:

getBytes2

本教程就到此为止。

推荐文章

如何将字符串字符转换为小写字母

Java String toCharArray()

Java String indexOf()

如何在Java中找到字符串的长度