Unicode суррогатные пары - PullRequest
       26

Unicode суррогатные пары

0 голосов
/ 17 августа 2010

Скажи, у меня есть суррогатная пара.Например:

\u306f\u30fc

Можно ли использовать функцию для печати символа на экране?

1 Ответ

2 голосов
/ 18 августа 2010

Если вы хотите сделать это вручную:

echo chr(0x30) . chr(0x6f) . chr(0x30) . chr(0xfc);

Если у вас есть строка, вы всегда можете сделать:

$callback = function($match) { 
    return chr(hexdec($match[1])) . chr(hexdec($match[2]));
}
preg_replace_callback('#\\\\u([0-9a-f]{2})([0-9a-f]{2})#', $callback, $string);

Или, если php <5.3 </p>

$callback = create_function('$match', 
    'return chr(hexdec($match[1])) . chr(hexdec($match[2]));'
);
preg_replace_callback('#\\\\u([0-9a-f]{2})([0-9a-f]{2})#', $callback, $string);
...