Кодировка dos в word

16 лет назад 31 октября 2006 в 11:29 7021

1. Чтобы Word правильно понимал кодировку кириллицы DOS, надо войти в меню «Сервис» > «Параметры», выбрать вкладку «Общие» и поставить галочку в пункте «Подтверждать преобразование при открытии». Тогда Word при попытке открытия файла, имеющего расширение, отличное от DOC, будет выдавать окошко «Преобразование файла» с запросом, из какого формата преобразовать документ, и списком возможных вариантов. Можно указать «Текст MS DOS с форматированием», а можно (и даже нужно) указать строчку «Кодированный текст» и в открывшемся диалоге указать кодировку «Кириллица (DOS)»; в этом случае даже таблицы более-менее сохранятся.
2. Действия, описанные в п. 1, самые правильные. Однако если они не дают результатов, попробуйте установить шрифт Terminal либо какой-нибудь старый шрифт с DOS-раскладкой.
3. Можно установить любой конвертер, например Lex2rtf.exe, который переводит текст из кодировки DOS в RTF-формат (даже таблицы иногда сохраняет).
4. Другой вариант — установить небольшой редактор (Bred, Rwedit), который понимает разные кодировки. Надо загрузить DOS-файл в него, сохранить документ в кодировке Windows-1251 и открыть этот вновь сохраненный файл в Word.
5. Существует еще один путь: найти и установить Lexicon для Windows. Открыть DOS-файл, конвертировать в RTF-формат и сохранить.

Алекс

оветы, прямо скажем, абсолютно исчерпывающие. Даже добавить нечего. Спасибо вам за то, что поделились с нами плодами ваших изысканий!

����� �� ������� �������� � DOS-���������� � Microsoft Word?

����� �� ������� �������� � DOS-���������� � Microsoft Word?

����� Microsoft Word ��������� ��������� ����� � ��������� ��������� DOS, �������� ���� ������ ? ���������, ��������� �� ������� ����� � ���������� ����� ������������ �������������� ��� ��������. ����� ����� Microsoft Word ��� ������� �������� �����, �������� ����������, ������������ �� DOC, ����� ��������� ���� �������������� ����� � �������� ������� ������ ��������� � ������� ��������� ���������. ����� ������� ����� ����� MS DOS � ��������������� (�� ����� ������������ �����) � � ��������� ���� ������� ��������� ��������� (DOS); ����� ������ ���� �������������� ������ �����-����� ����������.

���� ��������� ���� ������������ �� ��������, ���������� ���������� ����� Terminal ��� �����-������ ������ ����� � DOS-����������.

Исторически сложилось так, что в нашей стране чаще всего работают с такими текстовыми редакторами, как Word for Windows (версии 6.0, 7.0/95, 8.0/97) и «Лексикон» (версии 1.0, 1.2, 1.3) в среде DOS.

В среде MS-DOS обычно применяется кодировка ASCII, а в среде Windows — ANSI. У этих кодировок совпадают те части, которые относятся к латинскому алфавиту, специальным символам, цифрам, знакам препинания и математическим операциям, а различаются — относящиеся к другим алфавитам и псевдографике. Форматирование документов во всех текстовых редакторах в среде DOS совместимо, если только не используются какие-либо их специфические особенности («собственные» специальные шрифты, управляющие команды в тексте и т. д.). В среде Windows положение другое: в большинстве редакторов форматы документов имеют принципиальные различия, причем у некоторых из них могут быть одинаковые расширения имени файла (.doc, .txt и т.д.). Поэтому при использовании различных текстовых редакторов и разных форматов документов возникают определенные проблемы. Некоторые из них и способы их разрешения рассмотрим на примере Word 97.

Преобразование документов встроенными конвертерами

При создании документов в «родном» формате Word 97 используется кодировка ANSI, устанавливается расширение .doc, специальный внутренний формат, а также образуется служебная область в начале файла (как минимум 20 Кбайт). Документы, не отвечающие этим требованиям, условно можно назвать нестандартными. При загрузке и сохранении редактор Word 97 может преобразовывать такие документы встроенными конвертерами, число «штатных» единиц которых задается при установке MS Office 97.

Чтобы обработать нестандартные документы, выберите в редакторе пункты «Сервис? Параметры», отметьте закладку «Общие» и включите опцию «Подтверждать преобразование при открытии». При открытии документа в поле «Тип файлов» диалогового окна «Открытие документа» установите значение «Все файлы (*.*)». Выключите опции «Быстрое сохранение» и «Автосохранение» («Сервис?Параметры?Сохранение). Теперь, когда вы попытаетесь вызвать нестандартный документ, появится диалоговое окно «Преобразование файла» со списком типовых форматов документа (будьте внимательны, формат, предлагаемый по умолчанию редактором, не всегда верен), из которого нужно выбрать необходимый и нажать OK.

Для большинства документов, созданных в среде DOS, а также сохраненных в среде Windows как «Текст DOS…», следует использовать формат «Текст DOS» или «Текст DOS с форматированием» (конкретный вариант подбирайте экспериментально). Если указать «Текст DOS» и открыть документ, который был сохранен в среде DOS, то редактор Word может воспринять каждую строку как отдельный абзац, что затруднит форматирование. Чтобы это исправить, можно, конечно, воспользоваться функцией «Автоформат» (выберите «Формат?Автоформат» и нажмите OK), однако вид документа может измениться до неузнаваемости. И потому будет правильнее в диалоговом окне «Преобразование файла» указать «Текст MS-DOS с форматированием» (правда, есть вероятность, что нарушится выравнивание строк по правому краю и останутся ненужные мягкие переносы).

Чтобы сохранить нестандартный документ, лучше обратиться к пунктам «Файл?Сохранить как» и в появившемся списке выбрать необходимый формат документа (кроме того, можно задать новое имя файла). Если указать формат «Текст DOS…», то документ будет сохранен в ASCII-кодировке, т. е. его можно будет обрабатывать редакторами, работающими в среде DOS (для полного сохранения параметров форматирования больше подойдет формат «Текст DOS с форматированием»). А все остальные форматы позволят сохранить документ в ANSI-кодировке.

Особенности основных форматов документов

Чтобы при сохранении документа не утратить форматирование, в Word 97 следует выбирать его «родной» формат — «Документ Word (.doc)». Если же в дальнейшем документ придется обрабатывать иным редактором и/или в другой операционной среде или минимизировать размер файла документа, например для передачи его по электронной почте, на дискетах, для резервного хранения и т. д., то только тогда следует использовать другие форматы.

Для создания документа в формате Word 6.0/7.0 в поле «Тип файла» диалогового окна «Сохранение документа» следует указать «Word 6.0/95» (расширение .doc) или «Текст в формате RTF» (расширение .rtf). Эти форматы, а также «RTF для Word 97 и 6.0/95 (.doc)» практически эквивалентны для пользователя (в смысле сохранения параметров форматирования документов) и представляют собой разновидности формата RTF (с размером служебной области от 2,5 Кбайт). Вообще, при выборе RTF все параметры форматирования сохраняются (в ANSI-кодировке), и такие документы можно редактировать в большинстве текстовых процессоров для среды Windows.

Если использовать форматы с расширениями .txt (кроме Unicode), .asc (ASCII-кодировка) и .ans (ANSI-кодировка), то будет сохранен только текст документа (в некоторых случаях может остаться минимальное форматирование, например разбиение текста на строки и/или абзацы, тип шрифта и т. д. в зависимости от конкретного формата).

Внешние конвертеры

Кроме «штатных» конвертеров, входящих в Office 97, есть и внешние, с соответствующими им форматами документов (они, как правило, адекватны уже рассмотренным). Внешние можно подразделить на встраиваемые, автономные и гибридные. Так, к последним можно отнести «Лексикон — Word 6.0/7.0/97» компании Microsoft. Он устанавливается дополнительно, имеет две модификации (16-разрядную для Windows 3.x и 32-разрядную для Windows 95/98/NT) и состоит из двух частей. Первая встраивается непосредственно в Word в виде дополнения, с помощью которого можно открывать документы «Лексикона» с автоматическим конвертированием в один из стандартных форматов Word с учетом версии последнего. Вторая часть — это независимая программа конвертирования документов из «Лексикона» в формат .rtf (преобразование происходит без открытия редактором Word документов). Данный конвертер может обработать любые DOS-тексты со стандартным шрифтом (созданные редакторами в среде как DOS, так и Windows в форматах «Текст DOS…»). Конвертер корректно преобразует абзацы (без знака конца абзаца в каждой строке), однако ненужные мягкие переносы сохраняются и иногда нарушается выравнивание строк по правому краю. Псевдографика, различные таблицы и обрамление часто конвертируются неадекватно.

С помощью «автономного» конвертера Word 97—Word 6.0/7.0 компании Microsoft можно преобразовать файлы из формата Word 97 в Word 6.0/7.0, не открывая документы.

Эти конвертеры распространяются бесплатно, их можно переписать с российского Web-узла Microsoft: http://www.microsoft.com/rus.

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

Александр Берман

Наука и жизнь // Иллюстрации

Наука и жизнь // Иллюстрации

Наука и жизнь // Иллюстрации

Наука и жизнь // Иллюстрации

Наука и жизнь // Иллюстрации

Наука и жизнь // Иллюстрации

Наука и жизнь // Иллюстрации

Привычка — великая сила. И сегодня среди тех, кто в своей работе на компьютере пользуется наиболее популярными текстовыми редакторами Microsoft Word различных версий (7.0, 97, 2000, ХР), встречаются «любители старины», сохраняющие приверженность редакторам для MS-DOS, например отечествен ному «Лексикону». Понятно, что перед ними нередко возникает проблема: как быстро и удобно «перегнать» набранный текст из «Лексикона» в Word или, наоборот, из Word’а в «Лексикон».

Главная причина трудностей, возникающих при попытке проделать эту процедуру «в лоб», заключается в различном способе представления текста. В большинстве DOS-редакторов каждая строка завершается специальным управляющим кодом «возврат каретки». Все отступы слева (в том числе для красной строки, центровки строк и т. д.) формируются впечатыванием соответствующего количества пробелов, а выравнивание правого края текста производится добавлением дополнительных пробелов между словами, благо ширина всех символов (и пробелов тоже) в DOS-шрифтах одинакова. В Word же, равно как и в большинстве других текстовых редакторов для Windows, код «возврат каретки» используется как признак перехода на новый абзац, так что при загрузке подготовленного в DOS-редакторе текста в Word каждая его строка фактически превращается в отдельный абзац. Кроме того, все операции выравнивания текста выполняются в Word’е автоматически — согласно заданным параметрам форматирования, а выравнивание текста по ширине производится изменением величины пробелов между словами. При этом слово от слова должно отделяться не более чем одним пробелом, а в начале абзацев пробелов не должно быть вовсе, иначе сильно страдает вид текста. И, наконец, если в «Лексиконе» переносы слов формируются вставкой символа «-«, то Word в большинстве случаев создает и отображает переносы автоматически.

Из-за всего перечисленного при попытке загрузить в Word текст, подготовленный в «Лексиконе», каждая его строка превращается в отдельный абзац и одновременно нарушается выравнивание по ширине. Причем стандартными средствами Word’а эти «безобразия» устранить невозможно, что обычно приводит ничего не подозревающего пользователя в недоумение.

Но если с помощью кнопки включить режим отображения непечатаемых знаков, то можно увидеть в тексте и лишние знаки переноса строк » ╤ «, и лишние пробелы (в виде точки, расположенной на середине высоты строки) (1). Теперь, чтобы привести текст к нормальному виду, придется вручную соединять входящие в каждый абзац строки, удалять лишние пробелы между словами и в начале абзацев, а заодно убирать и символы переноса «-«, иначе они могут оказаться где угодно в середине строки.

Примечание. При загрузке текста с DOS-кодировкой кириллицы часто возникает еще одна трудность: Word «по умолчанию» считает все файлы с расширением.ТХТ имеющими кодировку для Windows и после загрузки на экране появляется «абракадабра». В этом случае надо в настройках Word (Сервис, Параметры, вкладка Общие) пометить флажок Подтверждать преобразование при открытии, а в выдаваемом после начала загрузки текста окне Преобразование файла — выделить мышью строку Текст DOS и щелкнуть по кнопке ОК.

Не лучше обстоит дело и в противоположном случае — при попытке загрузить в «Лексикон» текст, подготовленный в Word’е (при этом он обязательно должен быть сохранен в файл в формате Текст DOS, выбранном в списке Тип файла). В результате каждый абзац оказывается превращенным в одну сверхдлинную строку, а отступы красной строки исчезают.

Как же провести необходимые преобразования оптимальным образом, чтобы не мучиться, «вычищая» текст вручную?

Начнем с того, что для облегчения этой задачи существует ряд специальных программ
— конверторов, которые можно установить на своей машине. Тем же, кто работает
с версией Word 2000, конвертор устанавливать не нужно, поскольку он изначально
встроен в этот редактор. Чтобы воспользоваться им, достаточно в окне открытия
файлов в списке Тип файлов выбрать пункт Лексикон для ДОС. Но
как быть пользователям Word 95 и 97? Для них мы предлагаем простой и удобный
алгоритм использования встроенной в Word функции поиска и замены (меню Правка,
пункт Заменить ) (2).

Примечания.

1. Символом «_» (нижнее подчеркивание) здесь обозначен пробел.

2. Ввод кода «конец строки/абзаца» производится комбинацией «^p» или выбором пункта Символ абзаца в меню, раскрывающемся при щелчке по кнопке Специальный. (В версии Word 97 для доступа к этой кнопке, возможно, потребуется сначала щелкнуть по кнопке Больше).

3. Код «длинное тире» вводится комбинацией «^+» или выбором пункта Длинное тире в списке щелчком по кнопке Специальный .

4. После ввода очередной комбинации нужно щелкнуть по кнопке Заменить все, а при замене нескольких пробелов на один — произвести столько щелчков по этой кнопке, сколько потребуется до тех пор, пока в окне отчета о количестве сделанных замен не появится нуль.

Вот и все. Теперь остается лишь произвести ряд «косметических» операций редактирования. Для этого, предварительно выделив весь текст (пункт Выделить все в меню Правка), необходимо установить требуемый шрифт и отступ абзаца, включить выравнивание абзацев по формату, а также (предварительно сняв общее выделение) выполнить в тексте требуемое форматирование: выровнять заголовки по центру, заново сформировать таблицы, а также убрать случайно оставшиеся кое-где лишние пробелы.

Попутно заметим, что «псевдографические» символы «Лексикона» в редакторе Word не отображают ся. Поэтому все «рисунки» из «лексиконовского» текста можно перенести в Word только как графические иллюстрации. Делается это так: на экран в окне «Лексикона» выводим требуемый фрагмент текста, затем нажатием клавиши PrintScreen вставляем полученную копию экрана в любой графический редактор и редактируем ее. (Обычно в процессе редактирования надо стереть лишнее и заменить цвета — фон на белый, текст на черный). Полученный результат сохраняем в файле, а затем вставляем в документ Word с помощью команды Рисунок из меню Вставка.

ИЗ WORD’А В «ЛЕКСИКОН»

Обратная операция — преобразование текста из Word’а в «Лексикон» — несколько проще и нужна лишь для того, чтобы впоследствии облегчить поиск начала абзацев. Для осуществления этой процедуры нужно в окне Заменить произвести замену кода конца абзаца на тот же код, дополненный несколькими пробелами:

Выполнив такую замену, выберите в меню Файл команду Сохранить как (но не просто Сохранить , дабы не испортить исходный текст!) и в поле Тип файла выберите формат Текст DOS с разбиением на строки. Щелкнув по кнопке Сохранить , обязательно закройте данный документ в Word (иначе его нельзя будет открыть в другой программе) и перейдите в «Лексикон». Теперь, загрузив в него только что сохраненный текст, остается лишь заново отформатировать абзацы с помощью клавиш Ctrl+F8 и привести в порядок таблицы. (Если вместо русских слов возникла «абракадабра», значит, при сохранении из Word’а был ошибочно выбран формат Текст с разбиением на строки без слова «DOS».)

  • #1

#include <Word.au3>
#include <Array.au3>
#include <File.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Date.au3>
#include <Excel.au3>


$oWord = _Word_Create(True)

$FileName="C:11.txt"
$ConfirmConversions = False
$ReadOnly=false
$AddToRecentFiles=False
$PasswordDocument=""
$PasswordTemplate=""
$Revert=False
$WritePasswordDocument=""
$WritePasswordTemplate=""
$Format= $wdOpenFormatAuto
$XMLTransform=""
$Encoding = "866"

$oDocument = $oWord.Documents.Open($FileName,$ConfirmConversions,$ReadOnly,$AddToRecentFiles,$PasswordDocument,$PasswordTemplate,$Revert,$WritePasswordDocument,$WritePasswordTemplate,$Format,$XMLTransform,$Encoding = "866")

не могу никак открыть в dos кодировке файл,пытался вот так, переделал с этого

    ChangeFileOpenDirectory "C:1"
    Documents.Open FileName:="1.txt", _
        ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
        PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
        WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
        wdOpenFormatAuto, XMLTransform:="", Encoding:=866

в VBA работает и так

ChangeFileOpenDirectory "C:1"
    Documents.Open FileName:="1.txt", Encoding:=866

пробовал по разному, я думаю что Encoding:=866 не правильно указываю.
кто чем подскажет?
файл 1.txt вложил

  • 1.txt

    23 байт · Просмотры: 4

  • #2

С Вашим примером можно так :

#include <File.au3>
#include <Encoding.au3>

Local $aRecords
If Not _FileReadToArray(@ScriptDir & "1.txt", $arecords) Then
    MsgBox(4096, "Ошибка", " Ошибка чтения файла в массив     Ошибка = " & @error)
    Exit
EndIf
For $i = 1 To $aRecords[0]
    MsgBox(4096, 'Строка:' & $i, _Encoding_866To1251($aRecords[$i]))
Next

и с Word

#include <MsgBoxConstants.au3>
#include <Word.au3>
#include <Encoding.au3>


Local $oWord = _Word_Create(False)
Local $sDocument = @ScriptDir & "/1.txt"
$oDoc=_Word_DocOpen($oWord, $sDocument, Default, Default, True)
MsgBox(0, "Document text", _Encoding_866To1251($oDoc.Range.Text))
_Word_Quit($oWord)

и на всякий случай, сама библиотека:

  • Encoding.au3

    24 КБ · Просмотры: 6

  • #3

[quote author=ra4o[/quote]
а то что я делал, нельзя открыть стандартно, в кодировке DOS? не перекодируя.
просто в файле еще есть символы, которые составляют таблицу, и они не перекодируются
файл фложил

  • 1.txt

    356 байт · Просмотры: 11

Alofa

Гость


  • #4

Это что за документ такой у вас во вложениях, в предыдущем сообщении? Даже Shtirlitz не берет. :blink:
Чем сами-то открываете? Чем создавали?

  • #5

Alofa,

Это что за документ такой у вас во вложениях

Откройте его в Word в кодировке MS-DOS. Это для примера автор показал значки из которых формирует таблицы.

Like this post? Please share to your friends:
  • Кодировка csv при открытии в excel
  • Кодировка csv excel кириллица
  • Кодирование текстовой информации в word
  • Кодирование текста для word
  • Кодирование графической информации word