我试图使用sun.misc.BASE64Encoder/Decoder,但是这段代码:
(new sun.misc BASE64Encoder()).encode(new
sun.misc.BASE64Decoder().decodeBuffer("test string XML:"))
Run Code Online (Sandbox Code Playgroud)
返回"test/string/XML /"我很尴尬
Boz*_*zho 22
不要使用sun.misc或com.sun上课.它们不能保证在不同版本的jre之间保持一致.
使用commons-codec Base64.encodeBase64(..)和Base64.decodeBase64(..)
小智 15
使用类:
javax.xml.bind.DatatypeConverter
Run Code Online (Sandbox Code Playgroud)
它有两种感兴趣的方法:
public static byte[] parseBase64Binary( String lexicalXSDBase64Binary )
public static String printBase64Binary( byte[] val )
Run Code Online (Sandbox Code Playgroud)
您首先解码字符串"test string XML:",它不是真正有效的Base64,因为它包含空格和冒号,其中没有一个是有效的B64字符.我认为你打算编码然后解码,像这样:
(new sun.misc.BASE64Decoder().decodeBuffer(new sun.misc.BASE64Encoder().encode("test string XML:"))
Run Code Online (Sandbox Code Playgroud)