しょぼいマシンで自作プログラミング言語を作ってみる (18)
UTF-32での字句解析にあたって(1)
ひとまずはUTF-8、UTF-16、UTF-32の相互変換
今現在、文字単位でのUTF-8、UTF-16、UTF-32の相互変換ができました。
UTF-8文字列をバイト配列ストリームで読み込み
バイト配列ストリーム(ByteArrayInputStream)でUTF-8の文字列を操作することには成功しました。
ByteArrayInputStreamは主に以下のような関数を提供してます。
read()。現在のカーソル位置の文字を読み込んで、カーソルを進める。
current()。現在のカーソル位置の文字を読み込んで、カーソルを進めない。
readByte2()、readByte3()、readByte4()。現在のカーソル位置から2バイト、3バイト、4バイト分読み込んで整数型に変換して、カーソルを進める。
rewind()。カーソル位置を先頭に戻す。
skip()。カーソル位置を1文字分進める。
readable()。読み込める残り文字数をカウントする。
hasReadable()。読み込める残り文字数があるかないか判定する。
とりあえず、今回の記事はここまで。次回もUTF-32での字句解析について触れることになるかと思います。