java apache commons

Java apache commons CharEncoding サンプルプログラム


CharEncodingの説明(google翻訳)

Javaプラットフォームのすべての実装に必要な文字エンコーディング名。
JRE文字エンコーディング名によると:
次の文字エンコーディングをサポートするには、Javaプラットフォームのすべての実装が必要です。
他のエンコーディングがサポートされているかどうかは、実装のリリース・ドキュメントを参照してください。

さて、なんのことか分かりずらいですが、CharEncoding#isSupportedの内容を直訳してみました。
CharEncoding#isSupportedの説明(google翻訳)

指定された文字セットがサポートされているかどうかを返します。
これはjava.nio.charset.Charset.isSupported(String)に似ていますが、より多くのフォーマットを処理します

ということで、サポートされる文字セットが拡張されているようです。

今回のサンプルコードは、利用可能なキャラセットとエイリアスの一覧を出力するサンプルです。

CharEncoding

package jp.pjin.tech.java;

import java.nio.charset.Charset;
import java.util.SortedMap;

import org.apache.commons.lang3.CharEncoding;

public class CommonsExample5 {
	public static void main(String[] args) {
		SortedMap<String, Charset> m = Charset.availableCharsets();
		for (Charset charSet : m.values()) {
			System.out.println(String.format("[%s] - supported:%s",
					charSet.name(), CharEncoding.isSupported(charSet.name())));

			for (String alias : charSet.aliases()) {
				System.out.println(String.format("  %s - supported:%s", alias,
						CharEncoding.isSupported(alias)));
			}
		}
	}
}

CharEncoding#isSupportedを呼んでいますが、当然結果はtrueが返します。

こういうプログラムはめったに書かないと思います。
そもそも、日本語環境で利用するプログラムは、Windows-31j前提で、UTF-8とISO-2022JPくらいしか使ってないと思います。

こういうキャラクター名なんだとか、エイリアスを指定していたとか思ってもらえると良いかと思います。

  • このエントリーをはてなブックマークに追加

PAGE TOP