?
У меня не все символы переводятся корректно. Например, 57088 и т.д.
Ну, так бывает да, какие конкретно символов не переводятся?
57088 и дальше. Все переводятся в одну и ту же последовательность 3 байтов
а ты в utf-8 переводишь?
А что это за символ?
wchar в винде из двух байт состоит. Это один из символов, который там может оказаться. 57089 и т.д. будут с помощью WideCharToMultiByte тоже переведены в ту же последовательность.
Это эсцет?
Самая большая известная мне проблема - надо +1 буферу от запроса длины. А что в отдельных кодпоинтах будет (можно хексом?) там не особо гарантируется, это же вопрос какая таблица лежит
Из какой в какую кодировку ты переводишь? Код пришли ...
Подожди, это не D800-DFFF (может B первая) диапазон суррогатов?
да просто проверяю функцию перевода, и на этих символах не справляется
Это некорректная последовательность в UTF16 если не пара lo/hi, там будет ошибка интерпретации
и что обычно делают в таких случаях?
Говорят, что входные данные не являлись UTF16 строкой?
Ты в курсе , что не все символы во всех кодировках существуют?
я надеялся на UTF-8, всё-таки там байтов побольше будет
а при чем тут он ?
так мне нужно было перевести для промежуточного стейта widechar в него
Ну я понял, что ты всё понял.
А ты собираешься просто хранить? Можно легко велосипеднуть так, чтобы обратно получилось что было
добавь флаг MB_ERR_INVALID_CHARS в вызов и получи законную ошибку
Обсуждают сегодня