広告

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

関連記事

ページの先頭へ