続 utf8.hpp

アルゴリズムはほとんど弄れてないんですが、エラーチェックを強化しました。
utf8.hppの差分
テストコード差分
最新の仕様では、

  • Unicode外のコードはUCSでも使用しない
  • 必然的にUTF-8は1〜4バイト

となっているらしいので、これに反する場合は例外を投げるようにしました。
wikipedia:ISO/IEC 10646
wikipedia:UTF-8


あと、Boostのutf8_codecvtはlibs配下にあるのと、UTF-16環境に対応してなさそうだったので使わないことにしました。