以下の機能追加・変更を行いました。
- UTF-16の
codeunit_size()
、codeunit_at()
、codeunit_substr()
、およびイテレータを実装。 - UTF-32を追加。今はエンコード機能のみ。
- UTF-16/8/32間のポータブルなエンコードを追加(Boost.Regexが持ってるunicode iteratorを使用)
- UTF-8で行っていた、暗黙のBOM削除を廃止。残して無視するようにした。
- encoding_string.hpp
- encoding_string/encoder.hpp
- encoding_string/normalizer.hpp
- encoding_string/system_string.hpp
- encoding_string/utf16_string.hpp
- encoding_string/utf8_string.hpp
#include <iostream> #include <shand/encoding_string.hpp> int main() { using namespace shand; encoding_string<encoding::utf8> utf8 = u8"あいうえお"; // 文字コードの変換 encoding_string<encoding::utf16> utf16 = encode<encoding::utf16>(utf8); encoding_string<encoding::utf32> utf32 = encode<encoding::utf32>(utf16); }
今後の予定:
- エンコーディングの種類に、
utf16_le
、utf16_be
、utf32_le
、utf32_be
を追加する。同時に、エンディアン取得の関数を追加する。 - 前回書いた予定を引き続き。正規化は一旦保留中。