js、java的base64相互加密、解密(中文乱码问题、json字符串传递)|| 额外适用技能:js中组装拼接json对象,转字符串

适用场景:

1、js、ajax前端传参到后端,中文乱码问题;

2、js、ajax前端json传参到后端,json参数含有特殊字符报错问题;

提醒:所以提前用base64处理json字符串或参数

 

使用方法:

一、js中base64加密(依赖base64.js):

BASE64.encoder(str)

补充方法:js的window对象自带的base64

1、方法用于创建一个 base-64 编码的字符串

window.btoa(str)

2.base-64 解码使用方法是
window.atob(xxx)

 

二、java后端base64解密(str即为中文乱码参数):

import org.apache.commons.codec.binary.Base64;//依赖包


str = str.replace(" ", "+");//base64解密部分乱码问题(“+” 号,在urlecode编码中会被解码成空格)
String 解密后 = new String(Base64.decodeBase64(str), "UTF-8")

 

 

 

额外适用技能:js中组装拼接json对象,转字符串

步骤:将数据放入js的map中,然后再将map对象push到集合,最后转成json字符串

//拼接json数据
var kind = "";
var price = "";
var json;
var list = [];
$("tr").each(function () {
	kind = $(this).find(".kind").val();
	price = $(this).find(".price").val();
	if(kind != null && kind != ""){
		var map = {};
		map["kind"] = kind;
		map["price"] = price;
		list.push(map);
	}
});
json = JSON.stringify(list);

 

你可能感兴趣的:(java,js,前端)