Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Processing Javascript\x转义_Processing_Javascript_String_Escaping_Ascii - Fatal编程技术网

Processing Javascript\x转义

Processing Javascript\x转义,processing,javascript,string,escaping,ascii,Processing,Javascript,String,Escaping,Ascii,我见过其他一些类似的程序: var string = '\x32\x20\x60\x78\x6e\x7a\x9c\x89'; 我不得不尝试摆弄数字和字母,以找到我想要显示的文本。 我想知道是否有一个函数可以找到字符串的转义,比如JS中的string.toUpperCase()。我使用的是JS,但是我可以使用其他编程语言来查找\x的ASCII。如果您有一个要转义的字符串,可以使用 如果您有带转义符的代码,则只需对其求值即可获得原始字符串。如果它是带有文字转义的字符串,则可以使用 如果您有“\x

我见过其他一些类似的程序:

var string = '\x32\x20\x60\x78\x6e\x7a\x9c\x89';
我不得不尝试摆弄数字和字母,以找到我想要显示的文本。

我想知道是否有一个函数可以找到字符串的转义,比如JS中的
string.toUpperCase()
。我使用的是JS,但是我可以使用其他编程语言来查找
\x

的ASCII。如果您有一个要转义的字符串,可以使用

如果您有带转义符的代码,则只需对其求值即可获得原始字符串。如果它是带有文字转义的字符串,则可以使用

  • 如果您有
    “\x32\x20\x60\x78\x6e\x7a\x9c\x89”
    并且想要
    “2`xnz”
    ,那么

      '\x32\x20\x60\x78\x6e\x7a\x9c\x89' == "2 `xnz"
    
      "2 `xnz".split('').map(function(e) {
        return '\\x' + e.charCodeAt(0).toString(16);
      }).join('')
    
  • 如果您有
    '\\x32\\x20\\x60\\x78\\x6e\\x7a\\x9c\\x89'
    ,这是一个值为
    \x32\x20\x60\x78\x6e\x7a\x9c\x89
    的文本字符串,那么您可以通过将每对十六进制数字的十进制值传递给
    string.prototype.fromCharCode()
    来解析它

    或者,
    eval
    是一个选项,前提是您可以确保输入的安全性,并且性能并不重要

    请注意嵌套在输入字符串周围的
    中的

    如果您知道它是一个程序,并且它来自可信的源,那么您可以直接
    eval
    字符串,这不会给您ASCII码,而是会执行程序本身

      eval('\\x32\\x20\\x60\\x78\\x6e\\x7a\\x9c\\x89')
    
    请注意,您提供的输入不是程序,eval调用失败

  • 如果您有
    “2`xnz”
    并且想要
    ”\x32\x20\x60\x78\x6e\x7a\x9c\x89'
    ,那么

      '\x32\x20\x60\x78\x6e\x7a\x9c\x89' == "2 `xnz"
    
      "2 `xnz".split('').map(function(e) {
        return '\\x' + e.charCodeAt(0).toString(16);
      }).join('')
    

这些程序可以(也应该)只使用
var string='2`xnz\x9c\x89';
,没有什么不同。这是真的,但我直到现在才习惯,我通常只键入字符。谢谢!我会尝试一下。