文字セットと文字エンコーディングの区別を求めるこの優れた SO の質問を見つけました。そしてそれは理にかなっています: 基本的に、文字セットは使用可能なグリフのセットであり、それぞれのエンコーディングは各グリフがバイナリとの間でどのように変換されるかです。
その後、Java 7 SE Charset
API のドキュメントにアクセスして驚いたのは、getEncoding()
メソッドが表示されただけで、それぞれのセッターが表示されなかったことです。そのため、少なくとも Java の世界では、すべての文字セットが事前に構成されたエンコーディングに「バインド」されているようです。
これは私に考えさせられました:なぜここにセッターがいないのですか?Java では、一連の文字をバイナリにバインドするために使用するエンコーディングをユーザーが定義できないのはなぜですか?
同じように、Java が特定の文字セット/エンコーディングをサポートしていない場合はどうなるでしょうか? カスタム セット/エンコーディングで JRE を拡張する方法はありますか?