在tomcat6.0 下 Base64.decode() 解码的中文为什么是乱码,我的tomcat编码是utf-8:
而在javaIDE环境下运行,Base64.decode()解码的中文得出的是正常。有没有好的解决方案?
写道
public static String Base64ToStr(String s) {
if (s == null)
return null;
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] b = decoder.decodeBuffer(s);
return new String(b, "UTF-8");
} catch (Exception e) {
return null;
}
}
if (s == null)
return null;
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] b = decoder.decodeBuffer(s);
return new String(b, "UTF-8");
} catch (Exception e) {
return null;
}
}
Java 虽然是采用 Unicode 字符的。但是在网络通信中,都是采用字节进行传输的,由于在传输时并没有告之 tomcat 使用什么编码,那么 tomcat 就会使用 ISO8859-1 的编码格式进行传输。
举个例子吧,比如我们要传输的字符串是“劳动节快到了”,这个串的 GBK 编码为:
c0cd b6af bdda bfec b5bd c1cb (GBK 是采用两个字节的,这里采用空格进行了分隔)
在网络传输中是以 Big-Endian 方式传送的,也就是一个字节一个字节地传,依次会这样:
c0 cd b6 af bd da bf ec b5 bd c1 cb
在 tomcat 接收到这些字节时,并不知道该如何去组装这些字节,默认就使用一个字节编码的 ISO8859-1 进行编码,得出的字符为:
Java codeÀ Í ¶ ¯ ½ Ú ¿ ì µ ½ Á Ë
c0 cd b6 af bd da bf ec b5 bd c1 cb
相关推荐
前端base64编码插件。 // 编码: Base64.encode() //解码 Base64.decode();
使用方法:utf8to16(base64decode(你的加密字符串));
Public Declare Sub Decode Lib "Base64" (ByRef Dest() As Byte, ByRef Src() As Byte) Public Declare Sub DecodeEx Lib "Base64" (ByRef Dest() As Byte, ByRef Src() As Byte) Public Declare Sub ...
base64.js 是 Base64 的 JavaScript 实现。浏览器:[removed][removed]node.jsvar Base64 = require('./base64.js').Base64;示例:Base64.encode('dankogai'); // ZGFua29nYWk= Base64.encode('小飼弾'); // ...
base64decode 编码,解码。
用js实现的base64encode,base64decode函数. 包括: function base64encode(str) { function base64decode(str) { function utf16to8(str) { function utf8to16(str) { function doit() {
完美支持中文的jqueryBase64加密解密,加密:$.base64.encode("要加密的文字"); $.base64.decode("要解密的密文");
Alfred软件的workflow,支持md5、base64等算法快速编解码
中文参数转码,避免中文参数直接出现在url中,//对 123321 进行加密 var str = $.base64.encode('123321'); alert(str); //对 str 进行解密 var dstr = $.base64.decode(str); alert(dstr)
易语言Base64编解码新汇编源码,Base64编解码新汇编,P_Bin,P_Str,Base64编码,Base64Encode,Base64解码,Base64Decode
今天在国外网站上淘到一个很好用的AS3的BASE64类 感觉写得简洁而强大。很好,赶快放上来。 调用代码: import com . dynamicflash . utils . Base64 ; //编码和解码字符串 var source : String = "Hello, world" ...
num=GetFileEncode64(ls_filename, ls_ret)//base64编码 ls_ret=trim(ls_ret) //-------解码---通过blob类型变量接收,一定要初始化足够空间大小 num=len(ls_ret) num=Base64Decode(lb_ret, ls_ret,num)//解码 p_1....
Base64.jar 工具下载 Java Base64 这是一个用于编码和解码(encode/decode )base64字符串和数据流的Java开源类库。Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。
base64加密和解密,很好用,亲测试可用,包含sun.misc.BASE64Decoder和sun.misc.BASE64Encoder
/** *base64加密与解密 ...* 2、解密:String keywords =new String(Base64.decode(keywords),"unicode"); *本JS使用方法如下: * 1、调用encode64(str)方法加密字符 * 2、调用decode64(str)方法解密字符 **/
base64包,decodeBase64包,encodeBase64String包所需的jar包 commons-codec-1.10.jar
base64 js实现base64编码解码 base64编码原理: base64可编码范围(ASCII字符范围内\u0000-\u00ff),所以每个字符必须8位,以3个字符为一组,转换为6bit的字节(3*8=4*6=24). ...base64.decode('需要解码的字符');
如果不想在url中看到有明文,比如http://localhost:8080/template_1/login.action?user=张三 可以使用js的encodeURI的URLDecoder.decode一起使用一起来把url加密下 (1)JS在页面上把数据var val = encodeURI...
encode decode base64