UTF8は1byteずつ読んだときに上位bitでそれが
UTF8の1文字での何byte目か(少なくとも1byte目かそれ以外=コードの途中)が判るのと
その1文字を表すのに全体が何byte必要とするかも判るで
もし最後の1文字が途中で終わってるならそれを処理せずに先送りとして
その1文字(の途中のbyteまで全て)を次の読み込みのバッファの先頭に移動する