Rubyの文字列に対応する文字コードを返す方法【初心者向け】

初心者向けにRubyの文字列に対応する文字コードを返す方法について解説しています。文字コードとは1つの文字に割り当てられた番号のことをいいます。ここではordメソッド、chrメソッドを使って文字からコード、コードから文字を取得する方法を学びましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyの文字列に対応する文字コードを返す方法について解説します。

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

文字列に対応する文字コードを返す方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

文字コードとは

文字コードとは、コンピュータ上で文字を表示するために、一つ一つの文字に固有に割り当てた番号のことです。「キャラクターコード」ともいいます。

ASCIIコード、シフトJISコード、Unicodeなどの体系があります。

例えば、ASCIIコードでは、0の文字コードは48、Aの文字コードは65です。

 

文字列からそれに対応する文字コードを得る方法

Rubyで文字列の文字コードを取得するには、ordメソッドを使います。

逆に文字コードに対応する文字列を取得するには、chrメソッドを使います。

chrメソッドでは引数にエンコーディングを指定できます。デフォルトはASCIIです。

str = 'a'
char_code = str.ord # 文字列aに対応する文字コードを得る

char_code = 0
str = char_code.chr # 文字コード0に対応する文字列を得る

 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

サンプルコード

s = '0'
puts s.ord

n = 65
puts n.chr

s = 'あ'
puts s.ord

n = 12356
# puts n.chr # RangeErrorとなる
puts n.chr(Encoding::UTF_8)

 

実行結果

48
A
12354
い

 

解説

1,2行目で、文字列0の文字コードを表示しています。結果は48でした。

4,5行目で、逆に文字コード65の文字列を表示しました。結果はAでした。

7,8行目で、UTF-8文字列「あ」の文字コードを表示しました。結果は12354でした。

10-12行目で、文字コード12356の文字列を表示しました。この場合、引数でエンコーディングの指定が必須です。(12356はASCIIコードの範囲を超過しているため)

結果はUTF-8文字列「い」でした。

 

監修してくれたメンター

橋本紘希

システムインテグレータ企業勤務のシステムエンジニア。

開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。