我有一个小问题.我必须使用UTF-8对char数组进行编码,并使用Java获取与其相当的字节数组.将char数组转换为String而不是获取字节数组不是一个选项,因为安全问题,必须避免使用String.如果我使用
byte[] encoded = Charset.forName("UTF-8").encode(CharBuffer.wrap(toBeEncoded)).array();
Run Code Online (Sandbox Code Playgroud)
当输入数组的长度超过9个符号时,输出数组有一个空的额外元素.如果长度更长,则有更多空元素.然后我解码它,我得到额外的额外元素.如果编码后我有1个空元素,解码后有两个.这也不是一个选项,因为我想加密编码值.谢谢.