Java Unicodeコードポイントを取得する(codePointAt)

JavaのUnicodeコードポイントを取得するサンプルです。
codePointAtメソッドを使用します。

導入されたバージョン : 1.5

目次

codePointAtメソッド

public int codePointAt(位置)

コード

codePointAtメソッドのサンプルです。

package test1;
 
public class Test1 {
	public static void main(String[] args) {
 
		String a = "ABあい";

		System.out.println(a.codePointAt(0)); // 65

		System.out.println(a.codePointAt(1)); // 66
		
		System.out.println(a.codePointAt(2)); // 12354
		
		System.out.println(a.codePointAt(a.length()-1)); //12356
		
		
		System.out.println
		(Integer.toHexString(a.codePointAt(0))); //41
		
		System.out.println
		(Integer.toHexString(a.codePointAt(1))); //42
		
		System.out.println
		(Integer.toHexString(a.codePointAt(2))); //3042
	}
}

8行目は「A」を指しUnicodeコードポイントの65を表示します。
10行目は「B」を指しUnicodeコードポイントの66を表示します。
12行目は「あ」を指しUnicodeコードポイントの12354を表示します。
14行目は、最後の文字の「い」を指しています。lengthで文字列の長さを取得して1引きます。
Unicodeコードポイントの12356を表示します。

17~24行目は、toHexStringメソッドで16進数にしています。

数値文字参照

上記コードの値は、数値文字参照で使用できます。
10進数の場合は、「&#数値;」にします。
16進数の場合は、「 &#x数値;」にします。

HTML上で
10進数の「A」と16進数の「A」は、「A」と表示されます。
10進数の「あ」と16進数の「あ」は、「あ」と表示されます。

サロゲートペア文字列の場合

サロゲートペア文字列の場合のサンプルです。
6行目は、サロゲートペアの「つちよし」です。

package test1;
 
public class Test1 {
	public static void main(String[] args) {
 
		String a = "𠮷";

		System.out.println(a.codePointAt(0)); // 134071

		System.out.println
			(Integer.toHexString(a.codePointAt(0))); //20bb7
	}
}

8行目は、codePointAtメソッドで「つちよし」のUnicodeコードポイントを表示しています。
10行目は、toHexStringメソッドで16進数にしています。

関連の記事

JavaScript 文字列から1文字を取得する(charAt)
JavaScript 文字コードを取得する(charCodeAt)
JavaScript Unicodeコードポイントを取得する(codePointAt)
JavaScript Unicodeの文字コードから文字を取得(fromCodePoint/fromCharCode)

△上に戻る