That's not cool, that's the biggest headache in trying to produce a std::string-compliant proper unicode-based string implementation.