如何检查字节数组是否有效UTF-8字符串

时间:2017-10-20 19:52:45

标签: java arrays byte utf

我正在用javax.crypto.Cipher解码消息,作为输出我得到byte[]。检查我的密钥是否正确且byte[]是否为有效字符串的最快方式是什么?

1 个答案:

答案 0 :(得分:2)

试试这个: -

public boolean checkUTF8(byte[] barr){

        CharsetDecoder decoder = Charset.forName("UTF-8").newDecoder();
        ByteBuffer buf = ByteBuffer.wrap(barr);

        try {
            decoder.decode(buf);

        }
        catch(CharacterCodingException e){
            return false;
        }

        return true;
    }