|
Модераторы: Poseidon, Snowy, bems, MetalFan |
|
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Всем заинтересованным - здравствуйте!
Есть ну очень простой код для записи данных в типизированный бинарный файл:
Проблема в том, что в созданном файле, кириллица (русские буквы) читаемы от А до Я, то есть весь текст абсолютно читаем в блокноте (в моем случае AkelPad x32 4.8.8.0). Однако и в интернете люди выкладывают свои примеры, где кириллица отображается каракулями (за исключением латиницы) и если открыть хотя бы тот же Word-файл (doc), там тоже каракули. Почему у меня все читаемо, не понимаю?! Чувствую что все просто, но Использую: delphi 7, delphi 2009, винда XP sp3 Прошу в поиск не отправлять - был там, над знаниями не глумиться - у каждого свое, над каждым можно поглумиться, форум двухсловными отписками не загружать. Огромное спасибо за будущую помощь и понимание! |
|||
|
||||
Snowy |
|
|||
Эксперт Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Delphi 7 использует 8-битную кодировку, которая зависит от настройки системы пользователя "Язык для неюникодных программ"
Как бороться, можно почитать здесь В Delphi 2009 такой проблемы быть не должно. |
|||
|
||||
RedKot |
|
||||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
Попробовал еще раз в delphi 7 компилировать приведенный выше мною код - в результате русские буквы (слова) полностью читаются, попробовал то же самое с вставками из
Попробовал в delphi 2009 компилировать приведенный выше мною код - русские буквы полностью читаются, с вставками из
Залез еще раз в doc (вордовский) файл через блокнот (AkelPad) - ворд сохраняет свои данные в кодировке UTF-16LE, а делфи 7 и 2009 сохраняет в кодировке windows-1251, ладно бы делфи 7, но почему делфи 2009, там же стринг unicode'рован на сколько я понимаю. Так вот, люди то в интернете говорят о том, что у них отображение русских слов в бинарном файле при использовании делфи 7 иероглифами (то есть, я так понимаю сохранение осуществляется в юникоде), а у меня русскими (я так понимаю - ansi). Может так и должно быть, что русский текст в бинарном файле свободно читаем? Запутался. Snowy, если не затруднит, можно тебя попросить компильнуть код в делфи 7, и посмотреть что получится? Добавлено через 13 минут и 38 секунд кстати, попробовал записать в бинарный файл турецкие слова с их спец символами через делфи 2009, вот что получилось: - в проге вставляю: 'türkçe çeviri' - в бинарном файле получаю: 'turkce ceviri' |
||||
|
|||||
RedKot |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2007 Репутация: нет Всего: нет |
причем слово 'ceviri' перенесено на следующую строку
|
|||
|
||||
Snowy |
|
|||
Эксперт Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Могу только предложить использовать Delphi 2009+ и не использовать типизированный файл.
Скорее всего строки фиксированной длины неюникодные. Используй обычные строки. Вот накидал пример:
|
|||
|
||||
Gwire |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
RedKot, можешь попробовать кодировать/декодировать в UTF8.
Чуть не забыл. От чтения глазиками в AkelPad этот файл защищен только отсутствием BOM слова. Если, например, NotePad++ сказать, что кодировка этого файла "UTF-8 (без BOM)", то он снова становится читаем глазиками. Вот такие дела. Это сообщение отредактировал(а) Gwire - 1.2.2018, 18:33 |
|||
|
||||
Gwire |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 216 Регистрация: 7.8.2007 Где: Николаев Репутация: 1 Всего: 4 |
Если нужно маломайски зашифровать данные, то лучше вместо UTF8Encode и UTF8Decode написать свои Encode и Decode.
А в них реализовать какой нибудь метод шифрования. Самый простой вместо символов записывать их Hex-кода.
|
|||
|
||||
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |