tiny utf8
Version 4.4.3
Tiny-utf8是一个非常容易将Unicode集成到任意C ++ 11项目中的库。该库仅由utf8_string类组成,该库充当std::string的替换。它的实现在小记忆足迹和快速访问之间成功地处于中间。因此, std::string的所有功能都被基于CodePoint的相应的UTF-32版本所取代 - 转换引擎盖下的所有访问UTF-8。
c )( r ) begin / end现在返回基于CodePoint的迭代器,而raw_ ( c )( r ) begin / end现在返回基于字节的迭代器。str.erase( std::remove( str.begin() , str.end() , U'W' ) , str.end() ) ,但是str.erase( std::remove( str.raw_begin() , str.raw_end() , U'W' ) , str.raw_end() )将不会(至少不总是)。原因是:在呼叫std::remove后,字符串数据的大小可能已经更改,并且第二个调用to str.raw_end()可能产生了现有的经过验证的迭代器。std::string的替换sizeof(utf8_string) !也就是说,包括落后