конвертировать юникод в символ с помощью ruby - PullRequest
9 голосов
/ 07 января 2011

Я нашел словарь китайских символов в юникоде.Я пытаюсь создать базу данных символов из этого словаря, но я не знаю, как преобразовать юникод в символ ..

p "国".unpack("U*").first #this gives the unicode 22269

Как преобразовать 22269 обратно в значение символа, котороебудет противоположностью линии выше.

Ответы [ 2 ]

15 голосов
/ 07 января 2011

Рубин 1.9:

p "国".codepoints.first #=> 22269
p 22269.chr('UTF-8') #=> "国"
13 голосов
/ 07 января 2011
[22269].pack('U*') #=> "国" or "\345\233\275"

Редактировать : Работает в 1.8.6+ (проверено в 1.8.6, 1.8.7 и 1.9.2). В 1.8.x вы получаете трехбайтовую строку, представляющую один символ Unicode, но при использовании puts это приводит к появлению в терминале правильного китайского символа.

...