是否有任何JavaScript函数与JavaScript十六进制转义字符串做同样的事情,下面提到的python代码呢?
>>> a = "\x41\x42\x43\x44"
>>> a.encode('string-escape')
'ABCD'
因为,我使用getElementById.value从文本字段中获取值,我认为字符串类似于\\x41\\x42\\x43\\x44
谢谢,
答案 0 :(得分:2)
unescape
可以帮助您
unescape("\x41\x42\x43\x44") //ABCD
答案 1 :(得分:0)
请参阅有关此问题的评论。基本上没有必要在JavaScript中做任何事情。
var a = "\x41\x42\x43\x44";
a // "ABCD"
a.charAt(0); // "A"
a === "ABCD" // true
更新:快速肮脏的黑客是使用类似以下的东西。对我来说有点晚了,但我确信有更清洁的方法。
这将获取每个十六进制块,将其转换为十进制值,最后将该值用作字符代码以替换原始十六进制块。
var el = document.getElementById('my-el');
el.onblur = function () {
var val = this.value;
var newVal = val.replace(/\\x([0-9A-F]{2})/ig, function() {
return String.fromCharCode(parseInt(arguments[1], 16));
});
alert(newVal);
};

<p>Enter \x41\x42\x43\x44</p>
<input type="text" id="my-el">
&#13;