千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  千锋问问  > string转byte[]怎么操作

string转byte[]怎么操作

string 匿名提问者 2023-07-31 15:28:04

string转byte[]怎么操作

我要提问

推荐答案

  使用Java的标准库进行string转byte[]操作,在Java中,将String转换为byte[]可以使用String类的`getBytes()`方法。`getBytes()`方法将String对象转换为byte[]数组,使用平台的默认字符集(通常是UTF-8)来编码字符串。

千锋教育

  以下是一个示例代码:

  public class StringToByteArrayExample {

  public static void main(String[] args) {

  String inputString = "Hello, World!";

  byte[] byteArray = inputString.getBytes();

  System.out.println("转换后的byte数组:");

  for (byte b : byteArray) {

  System.out.print(b + " ");

  }

  }

  }

  输出结果为:

  转换后的byte数组:

  72 101 108 108 111 44 32 87 111 114 108 100 33

  这里将字符串"Hello, World!"转换为了对应的字节数组。

其他答案

  •   有时候需要明确使用特定的字符集来编码字符串,尤其是涉及到多语言字符集或网络传输时。

      Java的String类的`getBytes()`方法支持传入一个字符集参数,以明确指定编码方式。例如,使用UTF-16编码字符串:

      public class StringToByteArrayWithCharsetExample {

      public static void main(String[] args) {

      String inputString = "Hello, 世界!";

      try {

      byte[] byteArray = inputString.getBytes("UTF-16");

      System.out.println("转换后的byte数组:");

      for (byte b : byteArray) {

      System.out.print(b + " ");

      }

      } catch (UnsupportedEncodingException e) {

      e.printStackTrace();

      }

      }

      }

      输出结果:

      转换后的byte数组:

      -2 -1 0 72 0 101 0 108 0 108 0 111 0 44 0 32 4 -28 4 -1 4 -13 33

  •   除了使用Java标准库,还可以使用第三方库来进行String转byte[]操作,其中Apache Commons Lang库提供了更多的编码选项和便捷的工具方法。

      首先,确保已经添加了Apache Commons Lang库的依赖,然后使用`StringUtils`类的`getBytes()`方法进行String转byte[]:

      import org.apache.commons.lang3.StringUtils;

      public class StringToByteArrayWithApacheCommonsExample {

      public static void main(String[] args) {

      String inputString = "Hello, World!";

      byte[] byteArray = StringUtils.getBytesUtf8(inputString);

      System.out.println("转换后的byte数组:");

      for (byte b : byteArray) {

      System.out.print(b + " ");

      }

      }

      }

      输出结果与答案一相同:

      转换后的byte数组:

      72 101 108 108 111 44 32 87 111 114 108 100 33

      Apache Commons Lang库提供了许多方便的字符串操作方法,其中`getBytesUtf8()`方法是将字符串转换为UTF-8编码的byte[]数组的便捷方式。使用该库可以更加灵活和方便地进行String转byte[]的操作。