61

String.fromCharCode(72)はHを与えます。charHから72番を取得する方法は?

4

6 に答える 6

68
'H'.charCodeAt(0)
于 2010-01-15T13:11:06.257 に答える
9

charCodeAt を使用します。

var str = 'H';
var charcode = str.charCodeAt(0);
于 2010-01-15T13:09:36.697 に答える
8

@ Silvioの答えは、0xFFFFまでのコードポイントにのみ当てはまります(最終的には String.fromCharCode が出力できる最大値です)。文字の長さが常に 1 であるとは限りません。

''.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からのインスピレーション)

于 2014-10-23T02:00:38.140 に答える
7

次のように独自のグローバル関数を定義できます。

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

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

次に、次のように使用します。

var mySTR = CHR(72);

また

var myNUM = ORD('H');

(それらを複数回使用したい場合、および/またはコードでたくさん使用したい場合。)

于 2012-09-04T15:57:20.757 に答える