在javascript中解析十六进制文本

在javascript中解析十六进制文本,javascript,parsing,hex,Javascript,Parsing,Hex,大家好,快速提问,我知道这在javascript中听起来很奇怪,但我对它有很好的用途。我需要能够以这样一种方式解析在textarea中传递的字符串,即转义的十六进制文字“\x41”或任何内容不作为四个字符“\''x''4''1”处理,而是作为“a”处理,例如: var anA = "\x41"; console.log(anA); //emits "A" var stringToParse = $(#someTextArea).val(); //using jquery for ease not

大家好,快速提问,我知道这在javascript中听起来很奇怪,但我对它有很好的用途。我需要能够以这样一种方式解析在textarea中传递的字符串,即转义的十六进制文字“\x41”或任何内容不作为四个字符“\''x''4''1”处理,而是作为“a”处理,例如:

var anA = "\x41";
console.log(anA); //emits "A"
var stringToParse = $(#someTextArea).val(); //using jquery for ease not a req
//lets say that "someTextArea" contains "\x41"
console.log(stringToParse); // equals "\" "x" "4" "1" -- not what i want
console.log(new String(stringToParse)); same as last
console.log(""+stringToParse); still doesnt work
console.log(stringToParse.toString()); failz all over (same result)
我想让stringToParse能够包含“a”not“\x41”。。。除了regex还有什么想法吗?我想我会选择一个正则表达式,我只是想找到一种方法让javascript完成我的命令:)

在实践中:

var v = $('#foo').val();
console.log(v);
console.log(v.parseHex());

我发现了,虽然它有点粗糙,我使用eval:(…如果有人有更好的方法,请告诉我:

stringToParse = stringToParse.toSource().replace("\\x", "\x");
stringToParse = eval(stringToParse);
console.log(stringToParse);

我主要需要它来解析混合字符串…就像在实际中混合了十六进制的字符串文本一样,因为它们应该是十六进制数,
/\x([a-f0-9]{2})/gi
也可以工作(并且不区分大小写)。@GregL:很有趣,我认为是a-f,但显然没有完成。谢谢你抓住了这一点,这里的咖啡已经用完了。;-)是的。。。我知道。。。这就是为什么我选择了另一个。。。为我的目的工作。。。我感谢你们的帮助
stringToParse = stringToParse.toSource().replace("\\x", "\x");
stringToParse = eval(stringToParse);
console.log(stringToParse);