javascript中是否有一种简单的方法可以只转义某些范围的控制字符?
具体来说,我只想转义范围“\x00-\x1f”和“\x7f-\xff”(控制和高位字符)。在计算然后发送到 API 的哈希之前,我只需要转义这些字符。像 encodeURI() 和 escape() 这样的标准函数逃逸太多了。
基本上,我需要匹配 perl 的uri_escape($text,"\x00-\x1f\x7f-\xff")的功能。
javascript中是否有一种简单的方法可以只转义某些范围的控制字符?
具体来说,我只想转义范围“\x00-\x1f”和“\x7f-\xff”(控制和高位字符)。在计算然后发送到 API 的哈希之前,我只需要转义这些字符。像 encodeURI() 和 escape() 这样的标准函数逃逸太多了。
基本上,我需要匹配 perl 的uri_escape($text,"\x00-\x1f\x7f-\xff")的功能。
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"