如何將 Java 字串轉換為位元組

Asad Riaz 2023年10月12日
  1. getBytes() 方法將 Java 字串轉換為位元組
  2. 在 Java 中具有特定編碼的 getBytes() 方法轉換字串為位元組 Bytes
如何將 Java 字串轉換為位元組

在本教程中,我們將學習如何將 Java 字串轉換為位元組。可以根據需要使用不同的類來完成此轉換。在某些情況下,使用者在轉換為位元組時還需要執行編碼。根據要求。

getBytes() 方法將 Java 字串轉換為位元組

我們開始的第一個方法是 Java 的 getBytes() 方法。此方法將獲取字串並將其轉換為陣列內的 Bytes

示例程式碼:

import java.text.*;
import java.util.Arrays;
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]

在 Java 中具有特定編碼的 getBytes() 方法轉換字串為位元組 Bytes

為了在相容平臺上以 UTF-8 編碼將字串陣列轉換為 byte,我們可以使用 getBytes(StandardCharsets.UTF-8) 方法。它的工作方式類似於預設的 getBytes() 方法,並返回以給定編碼格式編碼的輸出。

示例程式碼:

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

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.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.text.*;
import java.util.Arrays;
import java.util.Date;

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.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.text.*;
import java.util.Arrays;
import java.util.Date;

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 Byte