将十六进制参数传递给 jQuery 函数并显示为十六进制——而非 ASCII

Pass a hex parameter to jQuery function and display as hex--not ASCII

我有一个采用十六进制参数的 jQuery 函数。传递的十六进制参数如下所示:

\x73\x70\x65\x63\x74\x61\x74\x6f\x72\x20

使用 HTML 时,我可以像上面显示的那样显示它。将它传递给 jQuery 函数后,我尝试像这样显示它:

$('#divid').text("This should be hex: '" + HEXparam + "' That should have been hex.'");

但是,它不显示 HEX,而是显示 ASCII/English 翻译(在上述情况下,显示 "spectator" 一词)。有什么办法可以防止这种情况吗?

在调用 $('#divid').text():

之前,您需要对字符串中的斜线进行转义
HEXparam = HEXparam.replace('\', '\\');

注意上面代码中的双斜杠,这是因为第一个 \ 转义了后面的 \,导致其中两个 (\) 的组合为被解释为文字“\”。