【问题标题】:How to check if byte array is valid UTF-8 String如何检查字节数组是否是有效的 UTF-8 字符串
【发布时间】:2017-10-20 19:52:44
【问题描述】:

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

【问题讨论】:

  • 获取一个空的 UTF-8 字符串并不能保证密钥是有效的。你想达到什么目的?

标签: java arrays byte utf


【解决方案1】:

试试这个:-

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;
    }

【讨论】:

    猜你喜欢
    • 2016-07-18
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 2010-12-01
    相关资源
    最近更新 更多