;如何编码像\ x31等字符串?

时间:2016-09-29 04:49:32

标签: javascript encode

我看到一个代码,并且该代码在数组中包含所有字符串..并且每个数组索引都像:“\ x31 \ x32 \ x33”等等。

我如何将“hello”转换为该编码格式?

如果可能,有一个在线编码器?

3 个答案:

答案 0 :(得分:2)

正如@nikjohn所说,你可以用console.log解码字符串。

我从这个question找到了以下代码。我做了一些更改,输出字符串将以\x48 \x65形式。

它将以十六进制编码转换字符串,每个字符将用空格分隔:

String.prototype.hexEncode = function(){
    var hex, i;

    var result = "";
    for (i=0; i<this.length; i++) {
        hex = this.charCodeAt(i).toString(16);
        result += ("\\x"+hex).slice(-4) + " ";
    }

    return result;
};

var str = "Hello";
console.log(str.hexEncode());

上述代码的结果为\x48 \x65 \x6c \x6c \x6f

答案 1 :(得分:1)

这是十六进制编码。

www.unphp.net

http://ddecode.com/hexdecoder/

http://string-functions.com/hex-string.aspx

是少数可以使用十六进制编码为您提供编码和解码的网站。

答案 2 :(得分:0)

如果您控制台记录字符串序列,则会获得已解码的字符串。所以它就像

一样简单
console.log('\x31\x32\x33'); // 123

对于对所述字符串进行编码,您可以扩展String prototype

String.prototype.hexEncode = function(){
var hex, i;

var result = "";
 for (i=0; i<this.length; i++) {
    hex = this.charCodeAt(i).toString(16);
    result += ("\\x"+hex).slice(-4);
 }
 return result
}

现在,

var a = 'hello';
a.hexEncode(); //\x68\x65\x6c\x6c\x6f