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

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

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

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

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、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を使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。