やりたいこと
任意の文字を Unicode コードポイント (U+1234 という形式) に変換したいです。
🔼 https://www.compart.com/en/unicode/U+1234 より
Ruby と Python それぞれでの方法を紹介します。
Ruby
String#ord と String#% を使います。
$ ruby -v
ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [arm64-darwin24]
char = 'カ'
'U+%04X' % char.ord
#=> "U+30AB"
char = '力'
'U+%04X' % char.ord
#=> "U+529B"
Python
ord() とフォーマット指定子つきの f-strings を使います。
$ python --version
Python 3.13.0
>>> char = 'カ'
>>> f'U+{ord(char):04X}'
'U+30AB'
>>> char = '力'
>>> f'U+{ord(char):04X}'
'U+529B'
解説
どちらの場合でも文字を 04X
という形式でフォーマットしています。
-
04
: 4 桁を 0 埋め (例: '12' → '0012') -
X
: 大文字の 16 進数表記 (x
だと小文字)