Как узнать кодировку текста в блокноте
Перейти к содержимому

Как узнать кодировку текста в блокноте

  • автор:

Как программа «Блокнот» определяет кодировку файла?

Создаю в far пустой файл без расширения с кодировкой ansi 1251 или utf8.
Открываю блокнотом, нажимаю «сохранить как» и вижу, что блокнот уже предлагает ansi или utf соответственно.
Как это происходит?

  • Вопрос задан более трёх лет назад
  • 1968 просмотров

Комментировать
Решения вопроса 1
VoidVolker @VoidVolker
Dark side eye. А у нас печеньки! А у вас?

Far при сохранении файла в UTF-8 пишет в начале файла BOM маркер (EF BB BF), указывающий что весь текст далее закодирован с помощью UTF-8 кодировки. А при сохранении в ANSI — ничего не пишет. UTF8 может не содержать BOM — и тогда, определение кодировки лежит на плечах редактора и/или пользователя. Некоторые редакторы анализируя строку умеют определять верную кодировку с ощутимой долей вероятности.

Ответ написан более трёх лет назад
Нравится 2 2 комментария
UndefinedBehaivor @UndefinedBehaivor
UTF-16LE и UTF-16BE тоже содержат такие маркеры, кстати.

tsklab

5a42a4d19ba79944183427.png

Нет никакого маркера:

Ответы на вопрос 1

Может файл не совсем пустой?

Пустой файл это совсем 0 байт, без потоков и совершенно без какой-либо информации, даже о кодировке. Т.е., он не содержит совершенно никакой информации, совсем, вообще.

только что проверил — создал пустой, «поменял» кодировку на UTF-8+BOM (потому что блокнот с BOM только умеет), сохранил — вуаля, файл стал 3 байта — подсказать, что там, в этих 3 байтах?

Ответ написан более трёх лет назад
Нравится 2 6 комментариев

Qubc

Qubc @Qubc Автор вопроса

Окей, я понял, «типа пустой» файл с кодировкой utf8 имеет размер в 3 байта, в hex редакторе видно EF BB BF. Дальше пойдут байты символов.
Но пустой файл в ANSI имеет размер 0 байт и там действительно ничего нет.
То есть, вывод такой:
Блокнот определяет кодировку по первым байтам или их отсутствию, верно?

Qubc, сохрани в блокноте 4 «пустых» файла (там же всего 4 кодировки), да посмотри в двоичном виде, что получается: анси — пусто, юникод — 2 байта, юникод бе — те же байты в обратном порядке, ютф с бом — 3 байта

Как прочесть «агббЄЁ© ⥪бв» ?

Существует множество бесплатных программ как для чтения в разных кодировках, так и для трансляции кодировок друг в друга. Их общий недостаток — их нужно откуда-то взять и установить. Между тем, на Вашем компьютере уже присутствуют как минимум 3 программы, с помощью которых можно прочесть все возможные кодировки русского языка (DOS, ISO, KOI-8R). Посмотрим, на что способна каждая из них.

Блокнот

Если Вы уже открыли файл в блокноте и только после этого обнаружили, что он создан в OEM (она же DOS) кодировке, можно посмотреть его прямо в Блокноте. Если Вы уже знаете, что файл содержит не Windows-текст, использовать Блокнот я не советую. Неудобно это. Сейчас Вы поймёте, почему.
Для перехода к OEM-кодировке выберите Правка/Шрифт. Откроется диалог Выбор шрифта. В прогручивающемся списке Шрифт этого диалога найдите Terminal и щёлкните ОК.
Недостаток этого метода в сложности переключения кодировок. Кроме того, теперь, чтобы посмотреть текстовый файл в кодировке Windows, придётся тем же способом возвращать на родину прежний шрифт (он называется Fixedsys). Так что применять Блокнот не стоит. Оставьте его для Windows-кодировки и английских текстовых файлов.

Edit

Как это ни странно, но в поставке Windows 98 SE до сих пор присутствует «Редактор MS-DOS», ведущий свою родословную от MS-DOS EDIT, который входил в систему программирования QBasic для DOS. Как следует из названия, это DOS-приложение. К счастью, это ещё и часть Windows, поэтому никаких проблем при его запуске в окне не возникает. Использовать его по прямому назначению (в качестве редактора) довольно глупо. Но как вьюер для текстовых файлов DOS он вполне подойдёт. Файл программы называется Edit.com и находится в папке Windows\Command . Чтобы использовать его для просмотра текста, создайте для него ярлык на Рабочем столе.

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

Ярлык «Редактора MS-DOS» выглядит как клавиатура. Теперь достаточно перенести на него файл, и тот откроется в окне MS-DOS.

Не стоит открывать его в полноэкранном режиме.
Во-первых, Вы не сможете работать с Буфером обмена Windows.
Во-вторых, частота вертикальной развёртки в этом режиме составляет всего 60 Гц, и это вредно для глаз.
В-третьих, если у Вас по каким либо причинам отключена поддержка русского языка в MS-DOS (это три строчки в Autoexec.bat ), вместо ожидаемых русских букв Вы опять увидите абракадабру.

«Редактор MS-DOS» в принципе неплохо справляется с ролью вьюера, и я рекомендовал бы его на эту роль. если бы не знал лучший вариант.

Microsoft Internet Explorer

Да, да, да! Тот самый MS IE, которым Вы просматриваете странички в Интернете. В отличие от двух перечисленных программ, он позволяет смотреть текстовые файлы в любой (не извращённой) кодировке русского языка. Всё очень просто.
Запускаете IE в автономном режиме. Только не разворачивайте его на весь экран. Теперь перетаскиваете в его окно нужный файл из Проводника. У меня стоит IE5.01 со включённым автоопределением кодировки. Поэтому файл открывается сразу в нужной кодировке. Если по каким-то причинам IE ошибся, или автоопределение не установлено, всегда можно выбрать кодировку вручную из меню Вид.
Если Вы не хотите использовать программы, не входящие в Windows, IE — то, что Вам нужно. Тем не менее я обычно пользуюсь четвёртой программой.

Wpview

Думаю, никто ещё не забыл такую оболочку для DOS как Norton Commander. Она стала родоначальником огромного количества клонов, обладающих теми или иными достоинствами и недостатками. Многие из них живы до сих пор и продолжают плодиться усилиями энтузиастов. NC и по сей день установлен на огромном количестве компьютеров, и многие до сих пор по неведомой мне причине для совершения файловых операций даже из под Win9.x запускают любимые синие панельки.
NC есть и на моём винчестере, правда, я пользуюсь им только при необходимости загрузить компьютер в чистом DOS`е. Так вот, в русском NC5, которым я для этого пользуюсь, есть функция просмотра файлов. Из NC она вызывается нажатием клавиши F3. Она умеет просматривать 17 текстовых форматов, плюс просмотр файла в шестнадцатиричных кодах. В числе форматов: DOS и Windows текст с форматированием и без, а также RTF. С поддержкой русского языка!
Запускается этот вьюер практически мгновенно, чего не скажешь про MS IE, а это немаловажно для не слишком мощного компьютера, как мой. Знаю, у Вас возник закономерный вопрос: как это, мгновенно, если надо NC запустить, потом файл в нём найти да ещё и кодировку выбрать? Ответ прост.
За просмотр текстовых файлов в NC отвечает отдельная утилита Wpview.exe . Она вполне работоспособна и отдельно от пакета. Для этого я создал для неё ярлык на рабочем столе (о создании ярлыка см. выше).

Мне не нравится значок, которым Windows награждает приложения DOS по умолчанию. Но это легко исправить. Щёлкните ярлык правой кнопкой и выберите в меню Свойства. На вкладке Программа нажмите кнопку Сменить значок. Откроется диалог Изменение значка. Поскольку Вы меняете значок для DOS-приложения, в диалоге сразу будет открыта библиотека PIFMGR.DLL . Можно открыть другие библиотеки значков или отдельные файлы ico , нажав кнопку Обзор. Но лично мне показался соответствующим смыслу и виду программы шестой значок в верхнем ряду этой библиотеки (вид на голубое небо через серое окно). После первого запуска Wpview Вы поймёте, почему.

Чтобы посмотреть файл, я перетаскиваю его из Проводника на значок этой утилиты. И всё. Что касается кодировки, то программа помнит её последнюю установку, так что если Вы будете использовать её главным образом для просмотра текстовых файлов DOS, никаких задержек для переключения не будет.

Shtirlitz
Для расширения кругозора

Полноты ради следует вспомнить о так называемых извращённых кодировках русского языка. Возможно, Вам так и не придётся столкнуться с ними — и слава Богу. Их описание не является темой данной статьи. Если же Вы хотите поподробнее изучить данный вопрос, что мною всячески приветствуется, милости прошу сюда.
Если Вы впервые сталкиваетесь с этим термином, поясняю, что извращённые кодировки — это порождение некорректного взаимодействия клиентских почтовых программ и серверов почты. Так что если Вам довелось получить письмо, которое не читается ни в одной из стандартных кодировок, значит, его «извратил» почтовый сервер по пути прохождения. Это печально, но не смертельно. Некоторые почтовые программы умеют читать такие письма, но если Вы, как и я, пользуетесь Outlook Express, Вам понадобится отдельная программа для чтения такого письма. Их немало. Можно спорить о достоинствах и недостатках каждой конкретной из них, но лично я остановился на Штирлице 3.0 Всеволода Лукьянина. (В этом месте полагается похохмить насчёт названия программы, но я из вредности этого делать не буду.)
Нет смысла перечислять его возможности: скорее всего, они с лихвою перекроют все Ваши запросы. Но маленький совет дам. Удобно настроить программу так, чтобы она проверяла обновление Буфера обмена. Это позволит раскодировать письма на лету, просто копируя их в Буфер. Впрочем, перетаскивание файлов в окно программы Штирлиц тоже поддерживает.
Есть одно полезное применение Штирлица, не связанное с почтой. Если Вам попался файл в котором есть куски и в DOS, и в Windows кодировках (мне такие встречались, хотя я не знаю, какую цель преследуют авторы этих текстов), Штирлиц прекрасно разберётся, что к чему, и приведёт весь текст «к общему знаменателю».

Вдогонку

Совершенно неожиданно для меня самого у этой темы возникло продолжение. Я давно уже расстался с надеждой найти полноценную замену Блокноту. Всё, что попадалось мне на софт-серверах было либо абсолютно не функциональным, либо напрягало обилием ненужных мне функций. Про размеры я просто молчу. Собственно, из этого и родилась данная статья. И вдруг от Игоря Шишло (огромное ему спасибо) мне приходит письмо с крохотным аттачем.
Обработав содержимое ZIP`а дустом (то есть AVP) на предмет заразы и никаких микробов не обнаружив, я извлёк оттуда нечто, поразившее меня своей простотой, удобством и размерами. Оно называлось Bred2. Как удалось выяснить, автора зовут Олег Булычёв (Браво, маэстро!). Программа freevare, но я бы заплатил за неё с получки :). Английская версия лежит на Листсофте. У нас здесь русская. К сожалению, не удалось связаться с автором для получения разрешения на это. Сервер заворачивает назад письма, отправленные по указанному в хелпе адресу. Так что прости нас, Олег.

  • имеет настраиваемую панель инструментов;
  • умеет импортировать файлы;
  • помнит 10 недавно открытых документов;
  • делает многоуровневый откат (. );
  • выравнивает текст четырьмя способами;
  • помогает просмотреть макет перед выводом на печать;
  • умеет проводить автоматическую замену в тексте (. );
  • понимает несколько кодировок и позволяет оперативно их переключать, а также гонять текст из одной в другую (. );
  • позволяет выбрать для каждой кодировки вид и размер шрифта;
  • выводит текст, используя Ваши любимые цвета (например, зелёненькие буквочки на оранжевом фоне :));
  • окрывает файлы любого размера, по заверениям автора — до половины ОЗУ Вашего компьютера (прощай, WordPad. );
  • поддерживает кучу горячих клавиш для любителей не пользоваться мышью, в том числе мой любимый CTRL-S для сохранения (. ).
  1. Bred2.exe — русский Bred2 v.2.1.5.
  2. Bred2.hlp — справка от английской версии 2.1.4 на русском языке (где взять новую?).
  3. Not2Bred.reg — передаёт все функции Блокнота Бреду.
  4. Bred2Not.reg — восстанавливает Блокнот в его правах.
  5. readme.1st — рассказывает о том, что нужно сделать, «чтобы было Вам счастье».

Выбор кодировки текста при открытии и сохранении файлов

Как правило, при совместной работе с текстовыми файлами нет необходимости вникать в технические аспекты хранения текста. Однако при открытии или сохранении файла может потребоваться выбрать стандарт кодирования в следующих ситуациях:

  • Предоставление общего доступа к текстовым файлам с людьми, работающими на других языках
  • Скачивание текстовых файлов через Интернет
  • Совместное использование текстовых файлов с другими компьютерными системами

Стандарты кодирования помогают Microsoft Word и другим программам определять способ представления текста, чтобы он был удобочитаемым. Это может потребоваться на компьютере с системным программным обеспечением на языке, отличном от языка, на котором был создан текст.

Чтобы узнать больше, можно развернуть и свернуть любой из следующих разделов.

Общие сведения о кодировке текста

То, что отображается в виде текста на экране, фактически сохраняется в текстовом файле в виде числовых значений. Компьютер преобразует числовые значения в видимые символы. Для этого используется стандарт кодирования.

Кодировка — это схема нумерации, согласно которой каждому текстовому символу в наборе соответствует определенное числовое значение. Кодировка может содержать буквы, цифры и другие символы. В различных языках часто используются разные наборы символов, поэтому многие из существующих кодировок предназначены для отображения наборов символов соответствующих языков.

Различные кодировки для разных алфавитов

Сведения о кодировке, сохраняемые с текстовым файлом, используются компьютером для вывода текста на экран. Например, в кодировке «Кириллица (Windows)» знаку «Й» соответствует числовое значение 201. Когда вы открываете файл, содержащий этот знак, на компьютере, на котором используется кодировка «Кириллица (Windows)», компьютер считывает число 201 и выводит на экран знак «Й».

Однако если тот же файл открыть на компьютере, на котором по умолчанию используется другая кодировка, на экран будет выведен знак, соответствующий числу 201 в этой кодировке. Например, если на компьютере используется кодировка «Западноевропейская (Windows)», знак «Й» из исходного текстового файла на основе кириллицы будет отображен как «É», поскольку именно этому знаку соответствует число 201 в данной кодировке.

Юникод: единая кодировка для разных алфавитов

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

Так как Word работает на базе Юникода, все файлы в нем автоматически сохраняются в этой кодировке. Файлы в Юникоде можно открывать на любом компьютере с операционной системой на английском языке независимо от языка текста. Кроме того, на таком компьютере можно сохранять в Юникоде файлы, содержащие знаки, которых нет в западноевропейских алфавитах (например, греческие, кириллические, арабские или японские).

Выбор кодировки при открытии файла

Если в открытом файле текст искажен или выводится в виде вопросительных знаков либо квадратиков, возможно, Word неправильно определил кодировку. Вы можете указать кодировку, которую следует использовать для отображения (декодирования) текста.

  1. Откройте вкладку Файл.
  2. Нажмите кнопку Параметры.
  3. Выберите пункт Дополнительно.
  4. Перейдите к разделу Общие и установите флажокПодтверждать преобразование формата файла при открытии.

Примечание: Если установлен этот флажок, Word отображает диалоговое окно Преобразование файла при каждом открытии файла в формате, отличном от формата Word (то есть файла, который не имеет расширения DOC, DOT, DOCX, DOCM, DOTX или DOTM). Если вы часто работаете с такими файлами, но вам обычно не требуется выбирать кодировку, не забудьте отключить этот параметр, чтобы это диалоговое окно не выводилось.

Если почти весь текст выглядит одинаково (например, в виде квадратов или точек), возможно, на компьютере не установлен нужный шрифт. В таком случае можно установить дополнительные шрифты.

Чтобы установить дополнительные шрифты, сделайте следующее:

  1. Нажмите кнопку Пуск и выберите пункт Панель управления.
  2. Выполните одно из указанных ниже действий. В Windows 7
    1. На панели управления выберите раздел Удаление программы.
    2. В списке программ щелкните Microsoft Office или Microsoft Word, если он был установлен отдельно от пакета Microsoft Office, и нажмите кнопку Изменить.

    В Windows Vista

    1. На панели управления выберите раздел Удаление программы.
    2. В списке программ щелкните Microsoft Office или Microsoft Word, если он был установлен отдельно от пакета Microsoft Office, и нажмите кнопку Изменить.

    В Windows XP

    1. На панели управления щелкните элемент Установка и удаление программ.
    2. В списке Установленные программы щелкните Microsoft Office или Microsoft Word, если он был установлен отдельно от пакета Microsoft Office, и нажмите кнопку Изменить.

    Совет: При открытии текстового файла в той или иной кодировке в Word используются шрифты, определенные в диалоговом окне Параметры веб-документа. (Чтобы вызвать диалоговое окно Параметры веб-документа, нажмите кнопку Microsoft Office, затем щелкните Параметры Word и выберите категорию Дополнительно. В разделе Общие нажмите кнопку Параметры веб-документа.) С помощью параметров на вкладке Шрифты диалогового окна Параметры веб-документа можно настроить шрифт для каждой кодировки.

    Выбор кодировки при сохранении файла

    Если не выбрать кодировку при сохранении файла, будет использоваться Юникод. Как правило, рекомендуется применять Юникод, так как он поддерживает большинство символов большинства языков.

    Если документ планируется открывать в программе, которая не поддерживает Юникод, вы можете выбрать нужную кодировку. Например, в операционной системе на английском языке можно создать документ на китайском (традиционное письмо) с использованием Юникода. Однако если такой документ будет открываться в программе, которая поддерживает китайский язык, но не поддерживает Юникод, файл можно сохранить в кодировке «Китайская традиционная (Big5)». В результате текст будет отображаться правильно при открытии документа в программе, поддерживающей китайский язык (традиционное письмо).

    Примечание: Так как Юникод — это наиболее полный стандарт, при сохранении текста в других кодировках некоторые знаки могут не отображаться. Предположим, например, что документ в Юникоде содержит текст на иврите и языке с кириллицей. Если сохранить файл в кодировке «Кириллица (Windows)», текст на иврите не отобразится, а если сохранить его в кодировке «Иврит (Windows)», то не будет отображаться кириллический текст.

    Если выбрать стандарт кодировки, который не поддерживает некоторые символы в файле, Word пометит их красным. Вы можете просмотреть текст в выбранной кодировке перед сохранением файла.

    При сохранении файла в виде кодированного текста из него удаляется текст, для которого выбран шрифт Symbol, а также коды полей.

    Выбор кодировки

    1. Откройте вкладку Файл.
    2. Нажмите кнопку Сохранить как. Чтобы сохранить файл в другой папке, найдите и откройте ее.
    3. В поле Имя файла введите имя нового файла.
    4. В поле Тип файла выберите Обычный текст.
    5. Нажмите кнопку Сохранить.
    6. Если появится диалоговое окно Microsoft Office Word — проверка совместимости, нажмите кнопку Продолжить.
    7. В диалоговом окне Преобразование файла выберите подходящую кодировку.
    8. Чтобы использовать стандартную кодировку, выберите параметр Windows (по умолчанию).
    9. Чтобы использовать кодировку MS-DOS, выберите параметр MS-DOS.
    10. Чтобы задать другую кодировку, установите переключатель Другая и выберите нужный пункт в списке. В области Образец можно просмотреть текст и проверить, правильно ли он отображается в выбранной кодировке.

    Примечание: Чтобы увеличить область отображения документа, можно изменить размер диалогового окна Преобразование файла.

    Поиск стандартов кодирования, доступных в Word

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

    Ниже приведен список письменностей и связанных с ними кодировок (кодовых страниц).

    Система письменности

    Используемый шрифт

    Юникод (UCS-2 с прямым и обратным порядком байтов, UTF-8, UTF-7)

    Стандартный шрифт для стиля «Обычный» локализованной версии Word

    Windows 1256, ASMO 708

    Китайская (упрощенное письмо)

    GB2312, GBK, EUC-CN, ISO-2022-CN, HZ

    Китайская (традиционное письмо)

    BIG5, EUC-TW, ISO-2022-TW

    Windows 1251, KOI8-R, KOI8-RU, ISO8859-5, DOS 866

    Английская, западноевропейская и другие, основанные на латинице

    Windows 1250, 1252-1254, 1257, ISO8859-x

    Кодировка

    Текст может быть закодирован несколькими способами. Большинство текстовых файлов (старых) используют кодировку называемой ANSI, которая имеет ограничение по количеству доступных символов, но часто бывает достаточной, чтобы отобразить весь текст. Тем не менее, кодировки Unicode позволяют более полное количество символов, что позволяет в одном файле содержать символы сразу нескольких языков одновременно, за счет увеличения размера файла. Notepad++ пытается автоматически определить кодировку файла при открытии, и в то же время позволяет изменять её. Чтобы изменить то, в какой кодировке отображать документ (без изменения самого текста), выберите один из пунктов меню Кодировки→Просмотр в кодировке . . Чтобы преобразовать текст в другую кодировку, выберите один из пунктов меню Кодировки→Преобразовать в . .

    Может случиться так, что вы сохраняете файл в определенной кодировке, но после его открытия снова, обнаруживается, что он в другой кодировке. Это происходит, потому что кодировка определяется по содержимому файла и некоторое содержимое является правильным для различных кодировок. Это наиболее заметно, если файл сохранен без специальной метки BOM (Byte Order Mark) указывающей используемую кодировку.

    Notepad++ предлагает следующие кодировки: ANSI Старая кодировка, маленький размер файла, но подвержен ошибкам за счет использования различных кодовых страниц UTF-8 В кодировке Unicode большинство западных символов занимают один байт в файле, но для символов другого языка может занять больший размер, от 3 до 4 обычно. При сохранении 3 байта отводится метке BOM. UTF-8 без BOM Тоже что UTF-8, но без добавления метки BOM. Экономия трёх байт в итоге приводит к трудности обнаружения кодировки. Кроме того, именно эта кодировка используется для большинства веб-страниц. UTF-16 Little Endian Все символы размером два байта, пары следуют младшими байтами вперёд. При сохранении 2 байта отводится метке BOM. UTF-16 Big Endian Все символы размером два байта, пары следуют старшими байтами вперёд. При сохранении 2 байта отводится метке BOM.

    Кроме того, начиная с версии 5.6, Notepad++ поддерживает изменение набора символов, который используется для отображения текста, именно так, как вы можете изменить его на большинстве веб-браузеров. Эти кодировки доступны во вложенном меню Кодировки→Кодировки ANSI (charset=. ) . Изначальная кодировка нового документа может быть любым видом Unicode, или любой из поддерживаемых форматов ANSI.

    Notepad++ использует продвинутые методы анализа для оценки кодировки файла. Вы всегда можете выбрать правильную кодировку, если автоматический выбор оказался ошибочным. Когда файл сохраняется в сессию, текущая кодировка также сохраняется.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *