Java : StandardCharsets (文字コード) - API使用例
StandardCharsets (Java SE 22 & JDK 22) の使い方まとめです。
ほとんどのメソッドにサンプルコードがあります。
API仕様書のおともにどうぞ。
概要
標準charsets用の定数定義。 これらの文字セットは、Javaプラットフォームのあらゆる実装で使用できることが保証されています。
StandardCharsets には、よく使う Charset (文字コード) が定数として用意されています。
final var utf8 = StandardCharsets.UTF_8;
System.out.println(utf8); // UTF-8
final var utf16 = StandardCharsets.UTF_16;
System.out.println(utf16); // UTF-16
final var text = "abc♪";
System.out.println(text); // abc♪
final var encoded1 = text.getBytes(utf8);
// [97, 98, 99, -30, -103, -86]
System.out.println(Arrays.toString(encoded1));
final var encoded2 = text.getBytes(utf16);
// [-2, -1, 0, 97, 0, 98, 0, 99, 38, 106]
System.out.println(Arrays.toString(encoded2));
ただし、日本でよく使われていたシフトJIS は用意されていないので、Charset.forName で取得する必要があります。
final var sjis = Charset.forName("Shift_JIS");
System.out.println(sjis); // Shift_JIS
フィールド
static final Charset ISO_8859_1
ISO-LATIN-1とも呼ばれる、ISO Latin Alphabet No. 1。
final var charset = StandardCharsets.ISO_8859_1;
System.out.println(charset); // ISO-8859-1
static final Charset US_ASCII
7ビットのASCII (ISO646-USとも呼ばれる)は、Unicode文字セットのBasic Latinブロックとも呼ばれます。
final var charset = StandardCharsets.US_ASCII;
System.out.println(charset); // US-ASCII
static final Charset UTF_16
16ビットUCS変換形式、オプションのバイト順マークによって識別されるバイト順
final var charset = StandardCharsets.UTF_16;
System.out.println(charset); // UTF-16
static final Charset UTF_16BE
16ビットUCS変換形式、ビッグエンディアン・バイト順
final var charset = StandardCharsets.UTF_16BE;
System.out.println(charset); // UTF-16BE
static final Charset UTF_16LE
16ビットUCS変換形式、リトルエンディアン・バイト順
final var charset = StandardCharsets.UTF_16LE;
System.out.println(charset); // UTF-16LE
static final Charset UTF_32
32ビットUCS変換フォーマット。オプションのバイト順序マークで識別されるバイト順序。
final var charset = StandardCharsets.UTF_32;
System.out.println(charset); // UTF-32
static final Charset UTF_32BE
32ビットUCS変換形式、ビッグ・エンディアン・バイト順序。
final var charset = StandardCharsets.UTF_32BE;
System.out.println(charset); // UTF-32BE
static final Charset UTF_32LE
32ビットUCS変換形式、リトル・エンディアン・バイト順序。
final var charset = StandardCharsets.UTF_32LE;
System.out.println(charset); // UTF-32LE
static final Charset UTF_8
8ビットUCS変換形式
final var charset = StandardCharsets.UTF_8;
System.out.println(charset); // UTF-8