目次へ

4.4. CharsetDecoderクラス

CharsetDecoderクラスは各種文字セットの文字列をUnicode文字列に変換するためのクラスです。CharsetDecoderインスタンスは、対応するCharsetインスタンスのnewDecoder()メソッドを呼び出すことによって取得できます。

CharsetDecoderクラスの使用方法は、CharsetEncoder と変換の方向が違うだけで、ほとんど同じです。

文字列のデコードを行うメソッドは、以下の2つ存在します。

  • CoderResult decode(ByteBuffer in, CharBuffer out, boolean endOfInput)
  • CharBuffer decode(ByteBuffer in)

引数が1つのメソッドは、CharsetEncoder クラスの encode メソッドの場合と同じく簡易メソッドです。

Charset クラスの簡易デコードクラスの呼び出し、

CharBuffer charBuf = charset.decode(byteBuf);

は、次の処理とほぼ同等です(charset は Charset 型のインスタンスとします)。

CharBuffer charBuf = charset.newDecoder()
                            .onMalformedInput(CodingErrorAction.REPLACE)
                            .onUnmappableCharacter(CodingErrorAction.REPLACE)
                            .decode(byteBuf); 

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp