- 224 名前:Now_loading...774KB mailto:sage [2011/02/15(火) 02:52:52 ID:vfvTBlKE]
- >>222
いっぺんに読み出すのではなく、 必要な単位で読み込んでいけばいいと思う。 ちょうど UTF-8 だから最初の 1 バイト目を読みこめばその後に後何バイト続くのかわかるし、 例えばまず数百バイトなり適当な量だけ readBytes してバッファに置いて、 バッファに置いた奴を後ろから 1 バイトずつ読み、 0b10xxxxxx 以外で始まる奴を探す。 そこから端折った分をバッファーに継ぎ足したのち、 先頭バイトでバイト数を判定しながら一文字ずつ読み込んで、 区切りとなる文字(改行とか)が来たときに一旦読み込んだとする。 その後また必要になったらまた同じ方法で数百倍とまた読み込んで…と繰り返せば全部読み込めると思う。 まあ、詳しくは UTF-8 の仕様を調べるといいよ。
|

|