javascript中是否有一种简单的方法可以逃避某些控制字符范围?
具体来说,我只想转义范围“\ x00- \ x1f”和“\ x7f- \ xff”(控制和高位字符)。在计算随后发送到API的哈希之前,我只需要转义那些字符。像encodeURI()和escape()这样的标准函数转义太多了。
基本上,我需要匹配perl uri_escape($text,"\x00-\x1f\x7f-\xff") 的功能。
答案 0 :(得分:0)
function uri_escape( text, re ) {
function pad( num ) {
return num.length < 2 ? "0" + num : num;
}
return text.replace( re, function(v){
return "%"+pad(v.charCodeAt(0).toString(16)).toUpperCase();
});
}
uri_escape( "\u0015\u0012", /[\x00-\x1f\x7f-\xff]/g );
//"%15%12"