Member 13323088 Ответов: 1

Как получить я закодировал японский последний в моем декодированном приложении QR-кода?


Я закодировал это "スキャン12、コード" и получил это "?????12,???";
я использую многобайтовый набор символов не в юникоде. мне нужно решение на многобайтовой кодировки.

Что я уже пробовал:

я закодировал этот символ в формат UTF-8. в разделе декодирования будут считываться значения в формате байтового декодирования.когда я читаю символ в этом сегменте декодирования байта, считываемые значения отображаются следующим образом ??? этот.

Richard MacCutchan

Вам нужно использовать правильный японский шрифт для отображения символов.

1 Ответов

Рейтинг:
0

Jochen Arndt

Я настоятельно рекомендую изменить ваше приложение на Unicode. Если этого не происходит, вы должны выбрать правильный многобайтовый набор символов. Это означает, что входные данные должны содержать только символы из определенной многобайтовой кодовой страницы, и вы должны знать эту кодовую страницу. Если входные данные содержат символы Юникода, не охваченные этой кодовой страницей, у вас все равно будут некоторые заменяющие символы или даже вопросительные знаки для символов без замены.

При наличии входного сигнала в кодировке UTF-8 используйте Функция MultiByteToWideChar | Microsoft Docs[^] для преобразования входных данных в широкую строку. Это должно быть сделано в любом случае; даже для многобайтового приложения.

Если вы действительно хотите, чтобы ваше приложение было многобайтовым, вы должны использовать Функция WideCharToMultiByte | Microsoft Docs[^] для преобразования широкой строки, созданной приведенным выше преобразованием, в требуемую многобайтовую кодовую страницу.