base64解码中文乱码
问题:
使用base64解码中文时出现乱码。
解决:
使用同一编码进行编解码。
1、com.oreilly.servlet版本
(1) 编码:
StringfileId= Base64Encoder.encode(sb.toString().getBytes("UTF-8"));
(2) 解码:
Stringcontent= new String(Base64Decoder.decodeToBytes(fileId),"UTF-8");
2、Suncom.misc版本:
(1) 编码:
BASE64Decoderdecoder=newBASE64Decoder();
Stringcontent= new String(decoder.decodeBuffer(fileId),"UTF-8");
(2) 解码:
BASE64Decoderdecoder = new BASE64Decoder();
Stringcontent = newString(decoder.decodeBuffer(fileId),"UTF-8");
注意:
从浏览器客户端传送上来的base64编码字符需要使用JavaScript 的encodeURIComponent()函数进行编码,否则传到服务端时会发生解码错误。