decode byte array to CharBuffer - Java Internationalization

Java examples for Internationalization:Charset

Description

decode byte array to CharBuffer

Demo Code


//package com.java2s;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.CharacterCodingException;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;

public class Main {


    public static CharBuffer decode(String charsetName, byte[] bytes) {
        return decode(charsetName, ByteBuffer.wrap(bytes));
    }/* w w w. jav  a 2  s  .c  o m*/

    public static CharBuffer decode(String charsetName, byte[] bytes,
            int offset, int length) {

        return decode(charsetName, ByteBuffer.wrap(bytes, offset, length));
    }

    public static CharBuffer decode(String charsetName,
            ByteBuffer byteBuffer) {
        try {
            CharsetDecoder charsetDecoder = getCharsetDecoder(charsetName);

            return charsetDecoder.decode(byteBuffer);
        } catch (CharacterCodingException cce) {
            throw new Error(cce);
        }
    }

    public static CharsetDecoder getCharsetDecoder(String charsetName) {
        Charset charset = Charset.forName(charsetName);

        CharsetDecoder charsetDecoder = charset.newDecoder();

        charsetDecoder.onMalformedInput(CodingErrorAction.REPLACE);
        charsetDecoder.onUnmappableCharacter(CodingErrorAction.REPLACE);

        return charsetDecoder;
    }
}

Related Tutorials