Java 文字列をバイトに変換する方法
Asad Riaz
2023年10月12日
このチュートリアルでは、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 で 16 進文字列のバイト配列を変換する方法
- Java で文字列から部分文字列を削除する方法
- Java で文字列から文字列配列への変換を実行する方法
- Java でランダムな文字列を生成する
- Java のスワップメソッド