如何将 Java 字符串转换为字节

  1. getBytes() 方法将 Java 字符串转换为字节
  2. 具有特定编码的 getBytes() 方法在 Java 中转换字符串为字节 Bytes

在本教程中,我们将学习如何将 Java 字符串转换为字节。可以根据需要使用不同的类来完成此转换。在某些情况下,用户在转换为字节时还需要执行编码。根据要求。

getBytes() 方法将 Java 字符串转换为字节

我们开始的第一个方法是 Java 的 getBytes() 方法。此方法将获取字符串并将其转换为数组内的 Bytes

示例代码:

import java.util.Arrays;
import java.text.*;
import java.util.Date;

public class SimpleTesting {
    public static void main(String[] args) {
        String string = "Simple Testing";
        byte[] bytes = string.getBytes();
        System.out.println("String: " + string);
        System.out.println("Bytes: " + Arrays.toString(bytes));
    }
}

输出:

String: Simple Testing
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103]

具有特定编码的 getBytes() 方法在 Java 中转换字符串为字节 Bytes

为了在兼容平台上以 UTF-8 编码将字符串数组转换为 byte,我们可以使用 getBytes(StandardCharsets.UTF-8) 方法。它的工作方式类似于默认的 getBytes() 方法,并返回以给定编码格式编码的输出。

示例代码:

import java.util.Arrays;
import java.text.*;
import java.util.Date;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

public class SimpleTesting {
    public static void main(String[] args) {
        String string = "Simple Testing with UTF-8 Encoding";
        byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
        System.out.println("String: " + string);
        System.out.println("Bytes: " + Arrays.toString(bytes));
    }
}

输出:

String: Simple Testing with UTF-8 Encoding
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 85, 84, 70, 45, 56, 32, 69, 110, 99, 111, 100, 105, 110, 103]

可以与 getBytes() 方法一起使用的另一种编码格式是 defaultCharset,用于相关的兼容平台。

示例代码:

import java.util.Arrays;
import java.text.*;
import java.util.Date;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

public class SimpleTesting {
    public static void main(String[] args) {
        String string = "Simple Testing with default Charset Encoding";
        byte[] bytes = string.getBytes(Charset.defaultCharset());
        System.out.println("String: " + string);
        System.out.println("Bytes: " + Arrays.toString(bytes));
    }
}

输出:

String: Simple Testing with default Charset Encoding
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 100, 101, 102, 97, 117, 108, 116, 32, 67, 104, 97, 114, 115, 101, 116, 32, 69, 110, 99, 111, 100, 105, 110, 103]

可以与 getBytes() 方法一起使用的另一种编码格式是 UTF-16,用于最新的兼容平台。

示例代码:

import java.util.Arrays;
import java.text.*;
import java.util.Date;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;

public class SimpleTesting {
    public static void main(String[] args) {
        String string = "Simple Testing with UTF-16 Encoding";
        byte[] bytes = string.getBytes(StandardCharsets.UTF_16BE);
        System.out.println("String: " + string);
        System.out.println("Bytes: " + Arrays.toString(bytes));
    }
}

输出:

String: Simple Testing with UTF-16 Encoding
Bytes: [0, 83, 0, 105, 0, 109, 0, 112, 0, 108, 0, 101, 0, 32, 0, 84, 0, 101, 0, 115, 0, 116, 0, 105, 0, 110, 0, 103, 0, 32, 0, 119, 0, 105, 0, 116, 0, 104, 0, 32, 0, 85, 0, 84, 0, 70, 0, 45, 0, 49, 0, 54, 0, 32, 0, 69, 0, 110, 0, 99, 0, 111, 0, 100, 0, 105, 0, 110, 0, 103]

相关文章 - Java String

  • 如何在 Java 中将文件读取为字符串
  • 如何在 Java 中把一个字符串转换为字符 Char
  • 相关文章 - Java Byte

  • 如何在 Java 中检查一个字符串是否包含子串
  • 如何在 Java 中把字符串转换为双数
  • comments powered by Disqus