文字コード

きちんと書き直し。文字列とバイト列の区別がついてないところは全部書き直しました。バイト列のままだと正規表現で2バイト文字の途中にマッチしたりしていろいろとやばいことになるので。