Получить юникод по шестнадцатеричной строке в Ruby

Учитывая шестнадцатеричный код, например: 1f60d, как мне найти соответствующий юникод (кодовую точку) ??

Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
8
0
686
3

Ответы 3

Вы можете сделать это с помощью Array#pack:

["1F60d".to_i(16)].pack("U*")

Итак, вы знали ответ, когда задавали этот вопрос !!

Jagdeep Singh 20.08.2018 09:06

@JagdeepSingh SO прямо поощряет размещение вопросов с ответами для улучшения качества базы знаний.

Aleksei Matiushkin 20.08.2018 09:40

Да, у меня нет проблем с этим. Подтверждаю. :)

Jagdeep Singh 20.08.2018 09:56

Вы можете использовать \u{HEX} для достижения той же цели.

puts "\u{1F60d}"

Это не будет работать с динамическими строками.

Aleksei Matiushkin 20.08.2018 09:17

Преобразуйте строку в целое число (например, через hex), а целое число в символ через chr:

'1f60d'.hex.chr('UTF-8')
#=> "?"

Другие вопросы по теме