Я отлаживаю программу,некорректно выводящую текстовую информацию. Проблемная строка в OllyDbg отображается как ASCII, а то что выводится корректно - Unicode. ASCII это и есть обычный Multibyte Char или нет?
Ранг: 33.9 (посетитель), 22thx Активность: 0.03↘0 Статус: Участник
Создано: 02 августа 2013 14:38 · Поправил: dant3 · Личное сообщение · #2
в ASCII под символ отводится байт, в Multibyte Char по названию должно быть понятно, что полюбасу не один, а теперь вопрос: как вы думаете это одно и тоже или нет?
Ну а какую функцию надо в Делфях применить,чтобы эта строка в дебаггере стала отображаться как Unicode? MultibyteToWideChar? Я делал StringToWideChar - ноль эффекта
Описание Функция преобразовывает строку Source формата ANSI в Unicode-строку. Параметр Dest указывает на буфер, в который будет помещена результирующая строка. DestSize - размер буфера. Функция помещает в буфер DestSize-1 символ и символ окончания строки. В качестве результата функция возвращает указатель на буфер Dest.
******
Функция WideCharToString( Source: PWideChar ): string;
Модуль: System
Описание Функция преобразовывает Unicode строку в ANSI-формат. Для преобразования строк данная функция использует вызов функции WideCharToMultiByte Win32 API. Результирующая строка может содержать как одиночные, так и многобайтовые символы.