コンテンツにスキップ

文字コード

文字列 <-> 文字コード変換

Integer#chr

  • 数値を文字コードとして見たときに、引数で与えられたエンコーディングに対応する文字を返す。
  • 引数無しで呼ばれた場合は、US-ASCII, ASCII-8BIT, デフォルト内部エンコーディングの順で解釈する。
p 65.chr      # => "A"
p 12354.chr   # => `chr': 12354 out of char range (RangeError)

p 12354.chr(Encoding::UTF_8)    # => "あ"
p 12354.chr(Encoding::EUC_JP)   # => RangeError: invalid codepoint 0x3042 in EUC-JP

p 0x79.chr.encoding             # => #<Encoding:US_ASCII>
p 0x80.chr.encoding             # => #<Encoding:ASCII_8BIT>

String#ord

  • 文字列の最初の文字の文字コードを整数で返す。
  • 空文字の場合は例外が発生する。
p "a".ord   # => 97