文字列をバイト毎に繰り返し処理を使う場合、String#each_byte を使うのだが、そのまま表示させると
irb(main):001:0> "abcdefg".each_byte {|elm| p elm } 97 98 99 100 101 102 103
整数で表示されてしまうので、Integer#chr を使う。
irb(main):002:0> "abcdefg".each_byte {|elm| p elm.chr } "a" "b" "c" "d" "e" "f" "g"
String#bytes の場合は、Array#mapメソッドを使う。
irb(main):008:0> "abcdefg".bytes.map {|elm| elm.chr } => ["a", "b", "c", "d", "e", "f", "g"]
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ) [ 伊藤淳一(プログラミング) ]
ゼロからわかるRuby超入門 はじめてのプログラミング (かんたんIT基礎講座) [ 五十嵐邦明 ]