さっきコミットしたが、UTF-8の文書の場合の絵文字変換はまだちゃんとしていない。
というのは、UTF-8の1文字のバイト数を暫定的に2バイトづつとしたままだからである。
ちゃんと直さないといけないので書いておく。
UTF-8で1文字のバイト数の出し方
if ((0x80 & 第1バイト目) == 0)
このときは1文字1バイト
else if ((0xe0 & 第1バイト目) == 0xc0)
このときは1文字2バイト
else if ((0xf0 & 第1バイト目) == 0xe0)
このときは1文字3バイト
else if ((0xf8 & 第1バイト目) == 0xf0)
このときは1文字4バイト
else if ((0xc0 & 第1バイト目) == 0x80)
このときは第1バイト目じゃなくて実は第2バイト目以降のバイト
って感じー
というか、全然ダメ。
EUC-JPのときも考慮できていなかったのでこれから修正す。
できた。。
0 コメント:
コメントを投稿