Java 文字列をバイトに変換する方法

Asad Riaz 2023年10月12日
  1. Java 文字列をバイトに変換するための getBytes() メソッド
  2. Java で文字列を変換するための特定のエンコーディングを備えた getBytes() メソッド
Java 文字列をバイトに変換する方法

このチュートリアルでは、Java の文字列バイトに変換する方法を学びます。この変換は、要件に応じて異なるクラスを使用して実行できます。場合によっては、ユーザーはバイトに変換しながらエンコードも実行する必要があります。要件ごと。

Java 文字列をバイトに変換するための getBytes() メソッド

最初のメソッドは、Java の getBytes() メソッドです。このメソッドは文字列を取得し、配列内のバイトに変換します。

コード例:

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() メソッド

互換性のあるプラットフォーム用に文字列配列を 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() メソッドで使用できるもう 1つのエンコード形式は、最新の互換性のあるプラットフォーム用の 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