Ruby1.8から1.9への大きな変更点として、文字列のインスタンスがエンコーディング情報を持つそうです。
そしてこれまで Ruby の文字列はただのバイト配列のように扱われていたものが、文字配列のように振舞うようになるそうです。
str = "あいうえお" として
puts str[2] => 164 だったものが "う" になるそうです。
puts str.size => 10 だったものが 5 になるそうです。
そして str.bitesize => 10 になるそうです。
ひどくない?
既存のソースコードがかなり動かなくなるんじゃないの?
str.charsize => 5 を追加すればよかったんじゃないの?
文字列ですよ?一番多用するオブジェクトですよ?
バイト数と文字数ですよ?文字列の一番根幹な部分ですよ?
正直、理解に苦しみます。