如何在 Java 中把字符串转换成字节

原文:https://www.studytonight.com/java-examples/how-to-convert-string-to-byte-in-java

在这篇文章中,我们将使用 Java 代码将字符串转换为字节。字符串是 Java 中的一个类,表示字符序列,字节用于引用字符串中每个字符的 Unicode 值。

要将字符串转换为字节,我们使用String类的getBytes()方法,该方法根据指定的字符集将该字符串编码为字节序列。如果未指定字符集,则使用平台的默认字符集。

字符集是 Java 中的一个类,它表示字符集,并提供创建解码器和编码器的方法,这些方法在压缩和解压缩技术中是有益的。

字符集支持以下标准字符集实现。

|

字符集

|

描述

| | 美国-阿斯凯 | 七位 ASCII 码,也叫 ISO646-美国,也叫 Unicode 字符集的基本拉丁块 | | 国际标准化组织 8859-1 | ISO 拉丁字母 1 号,a.k.a. ISO-LATIN-1 | | UTF-8 | 八位统一通信系统转换格式 | | UTF-16BE | 十六位统一通信系统转换格式,大端字节顺序 | | UTF-16LE 编码 | 十六位统一通信系统转换格式,小端字节顺序 | | UTF-16 | 十六位统一通信系统转换格式,字节顺序由可选的字节顺序标记标识 |

举例时间:

让我们创建一个获取字符串字节数组的例子。这里,我们使用的是返回字节数组的getBytes()方法。因为我们没有在这里指定字符集,所以它将使用默认平台的字符集。

public class Main {
    public static void main(String[] args){
        String msg = "StudyTonight.com";
        System.out.println(msg);
        // string to byte conversion
        byte[] bytes = msg.getBytes();
        System.out.println(bytes);
    }
}

StudyTonight.com 【B @ 4d c 63996

示例:指定字符集

让我们创建另一个例子,通过为getBytes()方法指定字符集来获取字节数组。这里,我们将UTF-8设置为字符集,从字符串中获取字节转换。

import java.nio.charset.Charset;
public class Main {
    public static void main(String[] args){
        String msg = "StudyTonight.com";
        System.out.println(msg);
        // string to byte conversion
        byte[] bytes = msg.getBytes(Charset.forName("UTF-8"));
        System.out.println(bytes);
    }
}

StudyTonight.com 【B @ 4d c 63996

示例:

如果我们想从我们在上面的例子中创建的字节数组中获得一个字符串,那么您可以使用String类构造器,它接受字节数组作为参数,并返回一个字符串作为结果。

import java.nio.charset.Charset;
public class Main {
    public static void main(String[] args){
        String msg = "StudyTonight.com";
        System.out.println(msg);
        // string to byte conversion
        byte[] bytes = msg.getBytes(Charset.forName("UTF-8"));
        System.out.println(bytes);
        // Byte to String
        String str = new String(bytes);
        System.out.println(str);
    }
}

StudyTonight.com 【B @ 4d c 63996 StudyTonight.com