Я должен преобразовать несколько многобайтовых
символы в моем приложении (китайский
упрощенный, японский, корейский и т. д.)
UTF-8.
если ваша исходная строка имеет многобайтовый формат (китайский / арабский / тайский / и т. Д.) И вам необходимо преобразовать ее в другой многобайтовый формат (UTF-8), один из способов - сначала преобразовать в WideCharacter (UTF-16) затем преобразовать обратно в многобайтовый.
multibyte(chinese/arabic/thai/etc) -> widechar(UTF-16) -> multibyte(UTF-8)
если ваша исходная строка уже в Unicode (UTF-16), вы можете пропустить первое преобразование на иллюстрации выше
Вы можете ссылаться на кодовую страницу с MSDN .
В Google Chrome есть несколько реализаций преобразования строк для Windows, Linux и Mac. Вы можете видеть это здесь или здесь . файлы находятся в каталоге src / base:
+ sys_string_conversions.h
+ sys_string_conversions_linux.cc
+ sys_string_conversions_win.cc
+ sys_string_conversions_mac.mm
Код использует лицензию BSD, поэтому вы можете использовать ее для коммерческих проектов.