Java为浏览器在方便的字符串中转换Asn.1字节数组

|| 我尝试使用Java将ASN.1字节数组转换为字符串。到目前为止的结果:
byte[] asn = ocspResponse.getEncoded();
String liccert = new String(asn, \"Cp850\");
此字符串包含一些非常令人不快的字符串伪像: 像这样:
4¦20110416173611Z0üÏ0üi0:0  
有没有办法像这样转换字节数组:
RFMRIwEAYDVQQIEwlsb2NhbGhvc3QxFDASBgNV?
    
已邀请:
您绝对不应该使用String构造函数将任意二进制数据转换为字符串。该构造函数用于获取实际上是编码文本的二进制数据,并从中构建一个字符串。您的数据不是真正的编码文本-只是任意二进制数据。假装它最初是文本是造成数据丢失的秘诀。 最好的方法通常是对Base64进行编码。有很多第三方库可以执行此操作,包括Apache Commons Codec或此公共领域编码器。 例如,使用后者:
String liccert = Base64.encodeBytes(asn);
    

要回复问题请先登录注册