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

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

(Last modified: )

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

文字コードに対応する文字を取得するには 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

プログラミングや開発環境構築の解説サイトを運営しています。