![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Юникод [D7, XP]
AlexanderMS © (2006-05-15 19:56:00)Скажите, пожалуйста, как представлены символы в формате Юникод? Я знаю, что двумя байтами и что латинская буква в Юникоде представлена тем же байтом, да + нулевой. Но с русским иначе. Мне нужно считать строку в кодировке Юникод из файла, используя TFileStream. Как это сделать? Заранее спасибо.
AlexanderMS (2006-05-15 20:48:00) [1][5]
Не подумайте, что нашёл ответ, вопрос остался.
AlexanderMS (2006-05-15 20:48:00) [2][5]
Не подумайте, что нашёл ответ, вопрос остался.
AlexanderMS (2006-05-15 20:42:00) [3]Шпиён (15.05.06 20:34) [3]
Спасибо за ссылку!
AlexanderMS (2006-05-15 20:41:00) [4]Я не знаю, какая кодировка в файле. Он - смешанный: часть - обычная, часть - с двумя байтами. Вот с двумя, так выглядит в текстовом редакторе:
1я0я)я7я7яЯя7я<я/я$я
Через XOR 255 и удаления ненужного получается:
ОПЦИИ ИГРЫ
Вот другая разновидность (файл другой версии):
быаыЩызызыЯязымыЯыФы
Должно получится то же самое, но заставить программу расшифровать не могу. Это - часть CSF файла, языкового файла игры Generals. Я создаю редактор файлов этого формата. Одни файлы читает, другие нет.
Это что за кодировка?
Шпиён (2006-05-15 20:34:00) [5]Для общего развития -)
http://ru.wikipedia.org/wiki/Unicode
Для пратического применения F1:
Utf8ToAnsi
WideChar, WideString
WideCharToString
WideCharLenToString
AlexanderMS (2006-05-15 20:14:00) [6]Спасибо. А если это - UTF-8?
palva (2006-05-15 20:12:00) [7]Если это действительно UNICODE, а не UTF-8, то так и читайте: по два байта, укладывая каждую пару в символ PChar. В первых двух байтах файла находится служебная информация, которая говорит о том, в каком порядке идут байты в каждой паре, LittleEndian или BigEndian.