
Doesn't C++0x specify char to be UTF-8, char16_t to be UTF-16 and char32_t to be UTF-32? Potentially misleading source : http://en.wikipedia.org/wiki/C%2B%2B0x <http://en.wikipedia.org/wiki/C%2B%2B0x>std::string then becomes UTF-8 character container by default. On Tue, Dec 14, 2010 at 22:05, Edward Diener <eldiener@tropicsoft.com>wrote:
On 12/14/2010 2:27 PM, Mathias Gaunard wrote:
On 14/12/2010 16:08, Eric Niebler wrote:
On 12/14/2010 9:53 AM, Dean Michael Berris wrote:
+1 -- if there was a library that did easy conversion from std::wstring (usually the default in Windows now) to proper UTF-8 encoded std::string in Boost that would be *awesome*. I can totally use that library in cpp-netlib too. ;)
Please, no. std::string is not an appropriate holder for a UTF-8 string. It encourages random-access mutation of any byte in a UTF-8 sequence, pretty much guaranteeing data corruption.
It is, however, an appropriate holder for the *data* of a UTF-8 string.
Does not C++0x define character types for Unicode characters ? Would not a basic_string<utf8> ( or whatever it is called ) character type be a better choice than basic_string<char> if that is the case, if the former existed ?
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost