UTF8文字列処理のメモです。 いまだにUTF8を使ってサーバーとやり取りしてます。 たまに、表示文字数をカウントしたり、文字数が多すぎる場合途中から"..."を表示したり 結構困ります。。。 C++11からstd::u32stringを追加されて意外と便利です。 std::codecvt_utf8と組み合わせば、もう怖くない〜 例えば 文字数をカウントしたり #include <iostream> #include <codecvt> size_t strlen(const std::string& s) { std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t> conv; return conv.from_bytes(s).size(); } int main() { std::string utf8 = u8"2015