string.fromcharcode(72)给出了H。如何从char H中获得数字72?

有帮助吗?

解决方案

'H'.charCodeAt(0)

其他提示

使用charcodeat:

var str = 'H';
var charcode = str.charCodeAt(0);

@silvio的答案仅适用于代码点最高为0xffff(最终是字符串。FromcharCode可以输出的最大值)。您不能总是假设角色的长度是一个:

'𐌰'.length
-> 2

这是有效的东西:

var utf16ToDig = function(s) {
    var length = s.length;
    var index = -1;
    var result = "";
    var hex;
    while (++index < length) {
        hex = s.charCodeAt(index).toString(16).toUpperCase();
        result += ('0000' + hex).slice(-4);
    }
    return parseInt(result, 16);
}

使用它:

utf16ToDig('𐌰').toString(16)
-> "d800df30"

(来自 https://mothereff.in/utf-8)

您可以这样定义自己的全局功能:

function CHR(ord)
{
    return String.fromCharCode(ord);
}

function ORD(chr)
{
    return chr.charCodeAt(0);
}

然后以这样的方式使用它们:

var mySTR = CHR(72);

或者

var myNUM = ORD('H');

(如果您想多次使用它们,和/或代码中的很多。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top