Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/35: Рейтинг темы: голосов - 35, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 19.03.2010
Сообщений: 3

Преобразование текстового файла из русской кодировки Dos

19.03.2010, 22:40. Показов 6877. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как преобразовать текстовый файл из русской кодировки Dos
я себе даже представить не могу.. помогите
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.03.2010, 22:40
Ответы с готовыми решениями:

написать программу, выполняющую преобразование текстового файла из русской кодировки DOS в кодировку WINDOWS
в общем кто может помочь написать программу, выполняющую преобразование текстового файла из русской...

Готовый модуль для конвертирования текстовых строк из DOS кодировки в Windows и обратно
Часто возникает вопрос о конвертирование русских текстов в различных кодировках. Вот написал...

Блок схема кодировки с Win в Dos (и меню)
procedure Convert(var a:string);{ANSI --> ANSII} var i:integer; begin for i:=1 to length(a) do...

12
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
19.03.2010, 22:43
Во что преобразовать? И что такое "русская кодировка Dos"?
0
0 / 0 / 0
Регистрация: 19.03.2010
Сообщений: 3
19.03.2010, 22:44  [ТС]
как преобразовать текстовый файл из русской кодировки Dos в Unicode
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
19.03.2010, 22:54
CharToOemBuff и WideCharToMultiByte поможет?

в Delphi еще есть StringToWideChar, но не уверен, что она есть в Pascal
пардон, перепутал, как всегда:
MultiByteToWideChar а не WideCharToMultiByte
0
5 / 5 / 0
Регистрация: 26.02.2010
Сообщений: 18
20.03.2010, 05:34
насколько я понял, вам нужно открыть текстовый файл программой FAR (F4 - редактирование), выделить всё (Ctrl+A), вырезать (Ctrl+X), сменить кодировку (F8), вставить обратно (Ctrl+V) и сохранить (F2).

p.s.: русская кодировка в DOS называется CP886 (либо OEM).
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
20.03.2010, 12:08
Млин! Да наберите в любом поисковике "Перекодировка Dos-Unicode"- и будет вам и примеры и все остальное.
Не знаю как это в Pascal, но в Delphi без обработки ошибок и чтения в цикле буде примерно как
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
procedure MyRewriteProc;
const
  BUF_SZ = 4096;
var
  dosFile: file;
  winFile: file;
  uniFile: file;
 
  dosBuf: array [0..BUF_SZ - 1] of Char;
  winBuf: array [0..BUF_SZ - 1] of Char;
  uniBuf: array [0..BUF_SZ - 1] of WideChar;
 
  rCnt: Integer;
  wCnt: Integer;
begin
  AssignFile(dosFile, 'dos.txt');
  Reset(dosFile, 1);
 
  AssignFile(winFile, 'win.txt');
  ReWrite(winFile, 1);
 
  AssignFile(uniFile, 'uni.txt');
  ReWrite(uniFile, 1);
 
  BlockRead(dosFile, dosBuf, BUF_SZ, rCnt);
 
  OemToCharBuff(dosBuf, winBuf, rCnt);     // ASCII (DOS) -> ANSI (Win)
  BlockWrite(winFile, winBuf, rCnt, wCnt); // запись в ANSI (Win)-кодировке
 
  MultiByteToWideChar(CP_ACP,     // кодовая страница CP_OEMCP=OEM code page(для DOS->WinUni), CP_ACP=ANSI code page (для DOS->DosUni)
                      0,            // параметры
                      dosBuf,       // исходная строка
                      rCnt,       // и ее длина
                      uniBuf,       // unicode-буфер
                      BUF_SZ);    // и его размер
 
  BlockWrite(uniFile, uniBuf, rCnt * 2, wCnt); // запись в unicode
 
  CloseFile(uniFile);
  CloseFile(winFile);
  CloseFile(dosFile);
 
end;
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.03.2010, 13:35
kukuruku310, Млин! Так это не раздел Делфи, а Паскаль.
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
20.03.2010, 14:07
Цитата Сообщение от Puporev Посмотреть сообщение
Так это не раздел Делфи, а Паскаль
так я и сказал "не знаю как это в Pascal".
Но язык-то ведь один, различие может быть только в не API-функциях и типах данных.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.03.2010, 14:24
Цитата Сообщение от kukuruku310 Посмотреть сообщение
Но язык-то ведь один
Ну и попробуйте свой бред в Паскале написать.
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
20.03.2010, 14:29
у меня нет чистого Pascal, но если скажете в чем конкретно бред, то напишу
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
20.03.2010, 16:01
Понимаете, по опыту пребывания на форуме, я догадываюсь, что автору (который пропал) нужно прочитать текстовый файл в программу в Паскале. Это делается или конвертацией русского текста своей процедурой (стандартной просто нет в Паскале), либо переконвертировать сам файл любой программой типа TextEncoder, либо написать его в Паскале и сохранить этот файл как .pas.
Процедуры конвертации приведены здесь.
Конвертация строк
Вероятно автор уже нашел и покинул нас.
1
0 / 0 / 0
Регистрация: 19.03.2010
Сообщений: 3
20.03.2010, 17:49  [ТС]
Спасибо большое.
0
306 / 187 / 26
Регистрация: 14.02.2010
Сообщений: 547
21.03.2010, 16:00
Цитата Сообщение от Puporev Посмотреть сообщение
Ну и попробуйте свой бред в Паскале написать.
А ведь и правда!. Не поленился вот и посмотрел - оказывается некоторые компиляторы паскаля не поддерживают 32-разрядных библиотек! Я в шоке...
Как там у Миронова - Был неправ, вспылил. Но теперь считаю своё предложение безобразной ошибкой, раскаиваюсь, прошу дать возможность загладить, искупить. Всё, ушел.

ЗЫ: Бедные школьники! Ежедневно делать работу, над которой целая MS корпела много-много лет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.03.2010, 16:00
Помогаю со студенческими работами здесь

Перекодировка текстового файла из одной кодировки в другую
Разработать в TurboPascal программу перекодировки текстового файла из одной кодировки в другую.

Написать программу, выводящую на экран номер версии DOS, а также системную дату и время на языке MS-DOS
написать программу,выводящую на экран номер версии DOS,а также системную дату и время на языке...

Как отличать Dos 16 Exe от Dos 32 Exe
Давно уже интересовал вот этот вопрос как именно отличать Dos 16 Exe от Dos 32 Exe. Если я...

Составить процедуру преобразования текстового файла в кодировку DOS
Дан текстовый файл FileIn, записанный в кодировке Windows. Составить процедуру ANSI_ASCII(FileIn,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru