原因:
由于写入mysql中包含特殊字符
采用base64做处理
base64 转码以及解码
以及如何判断是否为base64转码过的字符串
代码如下:
let str = '장시간 자리비움 처벌 안내';
console.log("原始串: ",str);
//转码
let a = new Buffer(str).toString('base64');
console.log("转码后: ",a);
//解码
let c = new Buffer(a, 'base64').toString();
console.log('解码后: ',c);
//判断是否为base64转码过的字符串
var exg = new RegExp('^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$');
console.log("a 是64转码字符串: ",exg.test(a));
console.log("str 是正常字符串: ",exg.test(str));
运行结果:
[Running] node "d:\FrameWork\JavaScripts\tempCodeRunnerFile.js"
原始串: 장시간 자리비움 처벌 안내
转码后: 7J6l7Iuc6rCEIOyekOumrOu5hOybgCDsspjrsowg7JWI64K0
解码后: 장시간 자리비움 처벌 안내
a 是64转码字符串: true
str 是正常字符串: false
[Done] exited with code=0 in 0.248 seconds
网友评论