Rubyの文字列に対応する文字コードを返す方法【初心者向け】
初心者向けにRubyの文字列に対応する文字コードを返す方法について解説しています。文字コードとは1つの文字に割り当てられた番号のことをいいます。ここではordメソッド、chrメソッドを使って文字からコード、コードから文字を取得する方法を学びましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
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に対応する文字列を得る
実際に書いてみよう
サンプルコード
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では、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。