base64解码中文乱码

问题:

使用base64解码中文时出现乱码。

解决:

使用同一编码进行编解码。

1、com.oreilly.servlet版本

(1)      编码:

    StringfileId= Base64Encoder.encode(sb.toString().getBytes("UTF-8"));

(2)      解码:

    Stringcontentnew String(Base64Decoder.decodeToBytes(fileId),"UTF-8");

 

2Suncom.misc版本:

(1)  编码:

    BASE64Decoderdecoder=newBASE64Decoder();

    Stringcontentnew String(decoder.decodeBuffer(fileId),"UTF-8");

(2)      解码:

         BASE64Decoderdecoder = new BASE64Decoder();

         Stringcontent =  newString(decoder.decodeBuffer(fileId),"UTF-8");

注意:

从浏览器客户端传送上来的base64编码字符需要使用JavaScript 的encodeURIComponent()函数进行编码,否则传到服务端时会发生解码错误。


posted @ 2017-09-11 11:09  hongweigg  阅读(186)  评论(0编辑  收藏  举报