12

重複の可能性:
utf-8 文字列内の特定の文字のコード ポイント番号を取得する方法は?

私はjavascriptでサンプルコードを持っています:

var str = "HELLO WORLD";
var n = str.charCodeAt(0);

これは72を返します

PHPでこれを行うにはどうすればよいですか?

4

4 に答える 4

12

アスキー

これは役立ちます:

//Code to Character
echo chr(65);

//Character to Code
echo ord('A');

ユニコード

ただし、これらの関数は ASCII で機能するため、Unicode では次のようになります。

function uniord($u) {
    $k = mb_convert_encoding($u, 'UCS-2LE', 'UTF-8');
    $k1 = ord(substr($k, 0, 1));
    $k2 = ord(substr($k, 1, 1));
    return $k2 * 256 + $k1;
}

echo uniord('ب');
于 2012-10-20T15:07:20.107 に答える
6

上記と同等のものは次のようになります

$str = "HELLO WORLD";
$n = ord($str[0]);
于 2012-10-20T15:04:20.617 に答える
6

ここのドキュメントで、この寄稿されたメモを確認してください。

http://www.php.net/manual/en/function.ord.php

UTF-8 値を返す関数があります。これは、あなたが望むものだと思います。

于 2012-10-20T15:11:31.597 に答える
1

Unicode に対応するには、これを試してください (http://us.php.net/manual/en/function.ord.php)。

function uniord($u) {
    $k = mb_convert_encoding($u, 'UCS-2LE', 'UTF-8');
    $k1 = ord(substr($k, 0, 1));
    $k2 = ord(substr($k, 1, 1));
    return $k2 * 256 + $k1;
} 
于 2012-10-20T15:10:11.283 に答える