絵文字とか合成結合文字を1文字ずつ正確に扱いたいなら、charやstringじゃなくてStringInfoを使って