しょぼいマシンで自作プログラミング言語を作ってみる (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での字句解析について触れることになるかと思います。


いいなと思ったら応援しよう!