PHPで Unicode のコードポイントから文字列を出力する
サンプルコード
この方法なら、携帯電話向けの絵文字も出力可能
// U+1F37A の場合
$code = '1F37A';
$bin = pack('H*', (str_repeat('0', 8 - strlen($code)) . $code));
// PHP5.4以降の場合は hex2bin() 関数が使用可能
// $bin = hex2bin(str_repeat('0', 8 - strlen($code)) . $code);
$char = mb_convert_encoding($bin, 'UTF-8', 'UTF-32BE');
var_dump($char);
出力結果
=> string(4) ""
合成文字の場合
合成文字の場合は、 バイナリ文字列を結合すれば OK
// U+0031 U+20E3 の場合
$code = '0031';
$code2 = '20E3';
$bin = pack('H*', (str_repeat('0', 8 - strlen($code)) . $code));
$bin2 = pack('H*', (str_repeat('0', 8 - strlen($code2)) . $code2));
$char = mb_convert_encoding($bin . $bin2, 'UTF-8', 'UTF-32BE');
var_dump($char);
出力結果
=> string(4) ""
参考
Author And Source
この問題について(PHPで Unicode のコードポイントから文字列を出力する), 我々は、より多くの情報をここで見つけました https://qiita.com/nanasess/items/7efcfbf81a5a9067603e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .