Rubyの文字列って、現在の実装では君の言うバイナリデータだぞ。
あと、readは配列を返すのではなく、バイナリデータを含む文字列を返す。


つーか、Stringから文字列とバイト列の概念を分離して、
OctetStreamクラスを新設してくれないかなあ。
その上でStringをUnicode化してくれると嬉々累々。