Показать полную графическую версию : std::string - переделать символы в 16-bit Unicode
crashtuak
21-08-2012, 11:34
Есть строка std::string, с русскими символами. Строка пишется в файл, и файл читается программой на JAVA... Соответственно в JAVA получаем крякозябры, так как в char однобайтный, а в JAVA двубайтный. Как перелопатить символы в двубайтные и запихнуть их в std::string(соответственно в перелопаченой строке в программе на с++ мы получим неразбериху)?
Частично понял задачу, но, по-моему, лучше сразу взять строку с типом элемнтов "широкий символ" wchar_t.
То есть вместо string надо использовать basic_string<wchar_t>. Тогда проблем по идеи быть не должно.
Точно сказать будет ли работать не могу, т.к. предпочитаю Qt`шний QString. Там очень шbрокие возможности по работе с кодировками.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.