我有一个场景,我将我的pkcs12证书内容作为编码字符串(appache common-codec库)。现在我必须解码该字符串并且必须存储它。但是在将其解码为字符串时,我收到的证书内容无效。
当我尝试在文件中写入字节时,它工作正常。请找到我在下面尝试过的片段。
对于编码:
Base64.encodeBase64String(certcontentInBytes[])
对于解码:
new String(Base64.decodeBase64(certstringContent));
new String(bytes)
实际上使用new String(bytes, defaultCharset)
将字节的字符集转换为Unicode字符串。非便携式和可能的错误字符集。
对于字节作为二进制数据不起作用。字符串不应用于二进制数据。我打赌字节写入文件。
也许你必须使用new String(byte[], Charset charset)
和正确的字符集(可能是UTF-8),否则它将使用平台字符集,它在Windows和Linux / Unix之间有所不同。我想知道为什么你不能简单地使用字节数组作为参数?