如何在javascript或jquery中将字符串从ascii转换为十六进制

时间:2015-11-25 15:22:56

标签: javascript jquery

我想将字符串从ascii转换为十六进制

我试过了:

var stringing = "";
jQuery.each("SomeText".split(""), function (i, data) {
    stringing = stringing + data.charCodeAt(0)
});

但是这个输出和我得到的不一样 http://www.asciitohex.com/

我需要获得相同的值,因为只有在sharepoint中的KQL中才能使用

2 个答案:

答案 0 :(得分:2)

怎么样

String.prototype.convertToHex = function (delim) {
    return this.split("").map(function(c) {
        return ("0" + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(delim || "");
};

"SomeText".convertToHex();
// -> "536f6d6554657874"

"SomeText".convertToHex(" ");
// -> "53 6f 6d 65 54 65 78 74"

请注意,此将失败,带有Unicode字符。仅用于ASCII / ANSI输入。

答案 1 :(得分:1)

您还可以使用 Buffer 将ASCII转换为十六进制

let hex = Buffer('Some Text', 'ascii').toString('hex');
console.log(hex);