编程技术 · 2022年8月12日

Javascript \x 反斜杠x16进制utf-8编解码

js 里 \x 开头的通常是16进制编码的数据,下面代码实现编解码:

解码

function decode(str){
	return str.replace(/\\x(\w{2})/g,function(_,$1){ return String.fromCharCode(parseInt($1,16)) });
}
eg.
decode('\x5f\x63\x68\x61\x6e\x67\x65\x49\x74\x65\x6d\x43\x72\x6f\x73\x73\x4c\x61\x79\x65\x72')

输出 :”_changeItemCrossLayer”

编码

function encode(str){
    return str.replace(/(\w)/g,function(_,$1){ return "\\x"+ $1.charCodeAt(0).toString(16) });
}
eg.
encode("_changeItemCrossLayer")
"\x5f\x63\x68\x61\x6e\x67\x65\x49\x74\x65\x6d\x43\x72\x6f\x73\x73\x4c\x61\x79\x65\x72"

最新电影,电视剧,尽在午夜剧场

电影电视剧午夜不寂寞