文字コードを表す数値に対応する文字を取得する

1 バイトの文字はそれぞれ文字コードに対応しています。文字コードは 0 から 255 までの範囲の整数となっています。ここでは Ruby で文字コードから文字を取得する方法について解説します。

(2022 年 10 月 13 日公開 / 2022 年 10 月 23 日更新)

文字コードに対応する文字を取得する

文字コードに対応する文字を取得するには Integer クラスで用意されている chr メソッドを使います。

chr

実際の使い方は次のようになります。

puts(65.chr)  # A
puts(66.chr)  # B
puts(67.chr)  # C

例えば puts(65.chr) を実行すると "A" を取得できます。

※ chr メソッドを引数なしで呼び出した場合は文字コードとして US-ASCII, ASCII-8BIT, デフォルト内部エンコーディングの順で優先的に解釈します。

エンコーディングを指定する

文字コードに対応する文字を取得するときにエンコーディングを指定することができます。先ほどと同じ Integer クラスで用意されている chr メソッドで引数にエンコーディングを指定します。

chr(encoding)

例えば UTF-8 を指定する場合は引数に Encoding::UTF_8と指定してください。

実際の使い方は次のようになります。

puts(12354.chr(Encoding::UTF_8))  # あ
puts(33457.chr(Encoding::UTF_8))  # 花

例えば puts(33457.chr(Encoding::UTF_8)) を実行すると "花" を取得できます。

サンプルコード

では簡単なサンプルで試してみます。

# encoding: UTF-8

for i in 65..74
  print("文字コード ", i, " の文字は", i.chr, "です\n")
end

実行結果は次のようになります。

文字コードから文字を取得する

-- --

Ruby で文字コードから文字を取得する方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。