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) !也就是說,包括落後