UTF-8 を有効にすると mruby-io の read の動作がおかしくなる
MRB_UTF8_STRING を指定して mruby-io を使うと、正常にデータを読み込めない。
おそらく このへん が原因で、
read メソッド内で文字列のサイズを bytesize でなく size で読んでいるため、IOから読んだ実際のバイト数と齟齬が起きているぽい。
たぶん read を使うと tell や pos もちゃんと動かないはず。代わりに sysread すると良い。
参考
MRB_UTF8_STRING を有効にした状態で試すと以下のように、sizeは文字数を返す
> "あいうえお".size
=> 5
> "あいうえお".bytesize
=> 15
MRB_UTF8_STRING を有効にしてないとこんなん↓
> "あいうえお".size
=> 15
> "あいうえお".bytesize
=> 15