Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Форматы файлов и данных > Где хранятся сведения о кодировке файла?


Автор: chin555 26.1.2006, 15:07
Всем здравствуйте!

Кто нибудь знает,
откуда берется информация о кодовой странице файла ?

Например иногда FAR определяет автоматически,
что русские буквы в файле надо смотреть в DOS или WIN1251.

Изучение текстового файла в 16-ричном виде показало,
что 3 байта E0 E3 A1 - это слово "руб" в кодировке DOS.
А в WIN1251 - "aгЎ".

Где в файле хранится инфо о кодировке?

Автор: LSD 26.1.2006, 15:10
Цитата(chin555 @ 26.1.2006, 15:07 Найти цитируемый пост)
Где в файле хранится инфо о кодировке?

В текстовом файле нигде не хранится.
Если не ошибаюсь, FAR определяет это частотным анализом.

Автор: Akina 26.1.2006, 15:16
Если предусмотрено форматом - в соотв. поле. Скажем для HTML - в атрибуте Charset/Charsets.

Иначе - частотным анализом всего файла или его начального блока. При этом возможно ошибочное детектирование.

Автор: chin555 26.1.2006, 15:40
Спасибо! Я так и думал...

Но вот беда. Выгружаю таблицу из БД средствами 1С в файл DBF.

Читаю значения полей методом GetFieldData объекта TTable в Delphi.
Выдает вместо слова "руб" (DOS) - "raA"(???) !
smile
Открываю в Excel - все ок!

Может как то связано с настройками BDE ?

По всем драйверам в папке BDE Administrator\Configuration\Drivers\Native\ стоит
level=4
LANGDRIVER="dBASE RUS cp866"

Изучил формат DBF и понял, что там не хранится сведений о том в какой кодировке читать.





Автор: LSD 26.1.2006, 15:43
А как твой вопрос связан с Научными дисскуссииями?

Автор: ТарасАтавин 30.11.2013, 16:29
Цитата(chin555 @  26.1.2006,  15:40 Найти цитируемый пост)
Спасибо! Я так и думал... Но вот беда. Выгружаю таблицу из БД средствами 1С в файл DBF. Читаю значения полей методом GetFieldData объекта TTable в Delphi. Выдает вместо слова "руб" (DOS) - "raA"(???) !
Ну так после чтения приведи к внутренней кодировке (скорей всего ansy).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)