相変わらずUTF-8に注力して作っていますが、以下の機能を追加しました:
- 部分文字列を取得する、
codeunit_substr()
メンバ関数を追加 - UTF-8文字列中の文字もまた、UTF-8の文字列にした。
- 出力ストリーム演算子を追加。システムの文字コードで出力するので、WindowsでUTF-8文字列を出力する場合は、CP932で出力する。ファイルに出力するような場合には、
c_str()
を使うこと。 - 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; const encoding_string<encoding::utf8> s = u8"あいうえお"; // 出力ストリーム std::cout << s << std::endl; // "あいうえお" // 部分文字列の取得 std::cout << s.codeunit_substr(2, 3) << std::endl; // "うえお" std::cout << s.codeunit_substr(2) << std::endl; // "うえお" // UTF-8文字もまたUTF-8文字列 encoding_string<encoding::utf8> at = s.codeunit_at(2); std::cout << at << std::endl; // "う" }
あいうえお うえお うえお う
今後の実装予定: