Как закодировать текст в windows 1251

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

Содержание

  1. Как изменить кодировку текстового файла на UTF-8 или Windows 1251
  2. Блокнот Windows
  3. Notepad++
  4. Akelpad
  5. Txt кодировка
  6. Подробно о кодировке txt файлов
  7. Неправильная кодировка файла txt пример:
  8. Какая кодировка в txt файле
  9. Поменять кодировку txt файла
  10. Поисковые запросы : «кодировка txt файла»
  11. хорошая кодировка txt файла
  12. Сообщение системы комментирования :
  13. Выбор кодировки текста при открытии и сохранении файлов
  14. В этой статье
  15. Общие сведения о кодировке текста
  16. Различные кодировки для разных алфавитов
  17. Юникод: единая кодировка для разных алфавитов
  18. Выбор кодировки при открытии файла
  19. Выбор кодировки при сохранении файла
  20. Выбор кодировки
  21. Поиск кодировок, доступных в Word
  22. Как сменить кодировку в Блокноте по умолчанию с ANSI на другую
  23. Очень кратко:
  24. Немного лирики о том, почему всё так, а не иначе:
  25. Что делать, чтобы сменить кодировку в Блокноте по умолчанию с ANSI на другую:
  26. Кодировка в bat файлах

Как изменить кодировку текстового файла на UTF-8 или Windows 1251

Кодировка текста – это схема нумерации символов, в которой каждому символу, цифре или знаку присвоено соответствующее число. Кодировку используют для сохранения и обработки текста на компьютере. Каждый раз при сохранении текста в файл он сохраняется с использованием определенной схемы кодирования, и при открытии этого файла необходимо использовать такую же схему, иначе восстановить исходный текст не получится. Самыми популярными кодировками для кириллицы сейчас являются UTF-8, Windows-1251 (CP1251, ANSI).

Для того чтобы программа смогла правильно открыть текстовый файл, иногда приходится вручную менять кодировку, перекодируя текст из одной схемы в другую. Например, не редко возникают проблемы с открытием файлов CSV, XML, SQL, TXT, PHP.

В этой небольшой статье мы расскажем о том, как изменить кодировку текстового файла на UTF-8, Windows-1251 или любую другую.

Блокнот Windows

Если вы используете операционную систему Windows 10 или Windows 11, то вы можете изменить кодировку текста с помощью стандартной программы Блокнот. Для этого нужно открыть текстовый файл с помощью Блокнота и воспользоваться меню « Файл – Сохранить как ».

082621 0816 1

В открывшемся окне нужно указать новое название для файла, выбрать подходящую кодировку и нажать на кнопку « Сохранить ».

082621 0816 2

К сожалению, для подобных задач программа Блокнот часто не подходит. С ее помощью нельзя открывать документы большого размера, и она не поддерживает многие кодировки. Например, с помощью Блокнота нельзя открыть текстовые файлы в DOS 866.

Notepad++

Notepad++ (скачать) является одним из наиболее продвинутых текстовых редакторов. Он обладает подсветкой синтаксиса языков программирования, позволяет выполнять поиск и замену по регулярным выражениям, отслеживать изменения в файлах, записывать и воспроизводить макросы, считать хеш-сумы и многое другое. Одной из основных функций Notepad++ является поддержка большого количества кодировок текста и возможность изменения кодировки текстового файла в UTF-8 или Windows 1251.

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

082621 0816 3

После открытия текста можно изменить его кодировку. Для этого нужно открыть меню « Кодировки » и выбрать один из вариантов преобразования. Notepad++ позволяет изменить текущую кодировку текста на ANSI (Windows-1251), UTF-8, UTF-8 BOM, UTF-8 BE BOM, UTF-8 LE BOM.

082621 0816 4

После преобразования файл нужно сохранить с помощью меню « Файл – Сохранить » или комбинации клавиш Ctrl-S.

Akelpad

Akelpad (скачать) – достаточно старая программа для работы с текстовыми файлами, которая все еще актуальна и может быть полезной. Фактически Akelpad является более продвинутой версией стандартной программы Блокнот из Windows. С его помощью можно открывать текстовые файлы большого размера, которые не открываются в Блокноте, выполнять поиск и замену с использованием регулярных выражений и менять кодировку текста.

Для того чтобы изменить кодировку текста с помощью Akelpad файл нужно открыть в данной программе. Если после открытия файла текст не читается, то нужно воспользоваться меню « Файл – Открыть ».

082621 0816 5

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

082621 0816 6

Для того чтобы изменить текущую кодировку текста нужно воспользоваться меню « Файл – Сохранить как » и сохранить документ с указанием новой схемы кодирования.

082621 0816 7

В отличие от Notepad++, текстовый редактор Akelpad позволяет сохранить файл в практически любой кодировке. В частности, доступны Windows 1251, DOS 886, UTF-8 и многие другие.

Источник

Txt кодировка

Я очень часто использую txt файлы и периодически получается так, что кодировка txt файла не та. Которая требуется!

Но как я определил, что кодировка неправильная!? Тут мы собрались написать новую статью и там, для иллюстрации работы придется использовать txt файла и фот что он выводит, если применить javascript include

Подробно о кодировке txt файлов

Неправильная кодировка файла txt пример:

Хотел показать результат неправильной кодировки, которая периодически встречается при работе с txt файлами.

Какая кодировка в txt файле

Самое простое, как определить кодировку txt файла открыть файл в блокноте(простой текстовый блокнот! Либо в любой другой программе), который есть в любой операционной системе. Давайте сразу узнаем и изменим кодировку файла txt

2019 11 14 02 21 57Какая кодировка в txt файле

Поменять кодировку txt файла

2019 11 14 02 26 58Поменять кодировку txt файла

Поисковые запросы : «кодировка txt файла»

Интересный поисковый запрос:

хорошая кодировка txt файла

В смысле хорошая!? Ты чЁ на рынке!?

— Покажите мне вон ту хорошую кодировку. Не. это плохая кодировка, протухла совсем. вон ту рядом. У вас кодировка свежая!? Только свежая может быть хорошей кодировкой!

Сообщение системы комментирования :

Форма пока доступна только админу. скоро все заработает. надеюсь.

Источник

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

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

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

В этой статье

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

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

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

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

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

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

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

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

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

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

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

Откройте вкладку Файл.

Нажмите кнопку Параметры.

Нажмите кнопку Дополнительно.

Перейдите к разделу Общие и установите флажок Подтверждать преобразование формата файла при открытии.

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

Закройте, а затем снова откройте файл.

В диалоговом окне Преобразование файла выберите пункт Кодированный текст.

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

В области Образец можно просмотреть текст и проверить, правильно ли он отображается в выбранной кодировке.

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

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

Нажмите кнопку Пуск и выберите пункт Панель управления.

Выполните одно из указанных ниже действий.

На панели управления выберите раздел Удаление программы.

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

На панели управления выберите раздел Удаление программы.

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

На панели управления щелкните элемент Установка и удаление программ.

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

В группе Изменение установки Microsoft Office нажмите кнопку Добавить или удалить компоненты и затем нажмите кнопку Продолжить.

В разделе Параметры установки разверните элемент Общие средства Office, а затем — Многоязыковая поддержка.

Выберите нужный шрифт, щелкните стрелку рядом с ним и выберите пункт Запускать с моего компьютера.

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

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

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

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

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

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

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

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

Откройте вкладку Файл.

Выберите пункт Сохранить как.

Чтобы сохранить файл в другой папке, найдите и откройте ее.

В поле Имя файла введите имя нового файла.

В поле Тип файла выберите Обычный текст.

Нажмите кнопку Сохранить.

Если появится диалоговое окно Microsoft Office Word — проверка совместимости, нажмите кнопку Продолжить.

В диалоговом окне Преобразование файла выберите подходящую кодировку.

Чтобы использовать стандартную кодировку, выберите параметр Windows (по умолчанию).

Чтобы использовать кодировку MS-DOS, выберите параметр MS-DOS.

Чтобы задать другую кодировку, установите переключатель Другая и выберите нужный пункт в списке. В области Образец можно просмотреть текст и проверить, правильно ли он отображается в выбранной кодировке.

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

Если появилось сообщение «Текст, выделенный красным, невозможно правильно сохранить в выбранной кодировке», можно выбрать другую кодировку или установить флажок Разрешить подстановку знаков.

Если разрешена подстановка знаков, знаки, которые невозможно отобразить, будут заменены ближайшими эквивалентными символами в выбранной кодировке. Например, многоточие заменяется тремя точками, а угловые кавычки — прямыми.

Если в выбранной кодировке нет эквивалентных знаков для символов, выделенных красным цветом, они будут сохранены как внеконтекстные (например, в виде вопросительных знаков).

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

Поиск кодировок, доступных в 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

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

Источник

Как сменить кодировку в Блокноте по умолчанию с ANSI на другую

146

Рано или поздно любой пользователь Windows сталкивается с проблемой кодировки текста. «Кракозяблики» настигают всех, кто более-менее часто пользуется компьютером. Особенно остро эта задача стоит перед теми, кто не просто пользуется компьютером, а создаёт какой-то осмысленный контекст, например у себя на сайте. Сайт может находиться на удалённом сервере, где кодировка может отличаться от той, которую предлагает Windows по умолчанию.

Очень кратко:

Немного лирики о том, почему всё так, а не иначе:

Но и для пользователей, остающихся обычными «пользователями ПК» проблема с кодировками кириллистических символов иногда встаёт довольно остро. «Кракозяблики» — наследие предыдущей эпохи, когда каждый программист писал собственную таблицу кодировок. Например, скачал и хочешь почитать интересную книжку, а тут такое >=O

И так продолжалось до тех пор, пока не начали вводиться стандарты. Но и стандартов на текущее время уже немало. Например, есть кодировка Unicode, есть UTF-8, есть UTF-16 и так далее.

Я так и не нашёл, как сменить кодировку по умолчанию при открытии Блокнота и создания нового документа уже из открытой сессии Блокнота.

Зато нашёл, как сменить кодировку по умолчанию, когда текстовый документ сначала создаётся (из контекстного меню) и только потому открывается Блокнотом. Тогда кодировка файла будет та, которая будет прописана по умолчанию. Об этом и пойдёт ниже речь.

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

Ну и хватит лирики. К делу!

0020

Что делать, чтобы сменить кодировку в Блокноте по умолчанию с ANSI на другую:

0021

Если в файле-образце набрать какой-то текст, то он будет во всех новых файлах, создаваемых с помощью контекстного меню.

Источник

Кодировка в bat файлах

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

Создадим какой-нибудь bat файл, так называемый батник. Будет он называться test.bat. Ранее с помощью обычного блокнота, в нём были набраны строки:

2

При запуске его как bat файла, выводятся две строки. Одна на латинице, другая на кирилице.

3

Итак, что мы видим, строка на латинице выводится без изменений, строка на кирилице в виде каких-то скрякозябров. Это то, что случается в случае не правильной кодировки. Теперь давайте разберёмся, почему так получилось, и как это поправить.

Первое, документ test.bat обработал и вывел интерпритатор командной строки(cmd). Cmd кодирует програмный код в своей кодировке. Это, так называемая, DOS кодировка. Как подробнее узнать, какая это кодировка?

Откройте test.bat в любом текстовом редакторе(я воспользуюсь Notepad++). Наберите команду chcp.

4

Это команда покажет, в какой кодировке выполняет cmd bat файл. Сохраните документ и запустите его.

5

Итак, мы видим строку: Текущая кодовая страница: 866. Это говорит о том, что cmd кодирует bat файл в кодировке 866. Теперь выясним, в какой кодировке закодирован наш bat файл. Для этого можно открыть его в том текстовом редакторе, который показывает кодировку документа. Я воспользуюсь для этого редактором Notepad++. Открыв в нём test.bat в нижней правой части мы видим кодировку Windows-1251.

6

Теперь мы видим несоответствие в кодировках. Что нужно сделать? Нужно перекодировать документ test.bat в ту кодировку, в которую кодирует документ интерпритатор командной строки. Как это сделать? Открыв документ test.bat в текстовом редакторе Notepad++, в верхнем горизонтальном меню выберите: Кодировки > Кодировки > Кирилица > ОЕМ866.

7

Теперь в Notepad++ там, где была кодировка Windows-1251, стала ОЕМ866. Не забывайте сохранять документ после различных манипуляций с ним. Теперь можно опять запустить уже перекодированный файл test.bat.

8

Мы видим, что и кирилица и латиница стали корректно отображаться после работы команды вывода echo в test.bat.

Что если у вас на компьютере нет редактора Notepad++, и вы принципиально не хотите его устанавливать. Или текст вы не набирали сами, а где-то скачали его, и он в DOS кодировке.

К примеру, вы хотит скачать в текстовый файл справочник команд CMD. Создайте в папке С файл Help.txt. Запустите на выполнение bat файл со следующим кодом.

9

Вот текст записанный в файл Help.txt.

10

Теперь добавьте в bat файл следующую строку: «chcp 1251 >nul». Она аннулирует действующую кодировку 1251, которая мешает нам читать кирилицу.

11

И запустите его на выполнение.

12

Мы разобрали два простых способа, как в bat файлах настроить кодировку для правильного отображения русского текста. Надеюсь моя статья была вам полезна.

Источник



Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Данная кодировка пользуется довольно большой популярностью в восточно-европейских странах. Windows-1251 выгодно отличается от других 8-битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в традиционной русской типографике для обычного текста (отсутствует только знак ударения). Кириллические символы идут в алфавитном порядке.
Windows-1251 также содержит все символы для близких к русскому языку языков: белорусского, украинского, сербского, македонского и болгарского.
На практике этого оказалось достаточно, чтобы кодировка Windows-1251 закрепилась в интернете вплоть до распространения UTF-8.

Таблица кодов символов Windows-1251

Dec Hex Символ   Dec Hex Символ
000 00 NOP   128 80 Ђ
001 01 SOH   129 81 Ѓ
002 02 STX   130 82
003 03 ETX   131 83 ѓ
004 04 EOT   132 84
005 05 ENQ   133 85
006 06 ACK   134 86
007 07 BEL   135 87
008 08 BS   136 88
009 09 TAB   137 89
010 0A LF   138 8A Љ
011 0B VT   139 8B
012 0C FF   140 8C Њ
013 0D CR   141 8D Ќ
014 0E SO   142 8E Ћ
015 0F SI   143 8F Џ
016 10 DLE   144 90 ђ
017 11 DC1   145 91
018 12 DC2   146 92
019 13 DC3   147 93
020 14 DC4   148 94
021 15 NAK   149 95
022 16 SYN   150 96
023 17 ETB   151 97
024 18 CAN   152 98
025 19 EM   153 99
026 1A SUB   154 9A љ
027 1B ESC   155 9B
028 1C FS   156 9C њ
029 1D GS   157 9D ќ
030 1E RS   158 9E ћ
031 1F US   159 9F џ
032 20 SP   160 A0  
033 21 !   161 A1 Ў
034 22 «   162 A2 ў
035 23 #   163 A3 Ћ
036 24 $   164 A4 ¤
037 25 %   165 A5 Ґ
038 26 &   166 A6 ¦
039 27   167 A7 §
040 28 (   168 A8 Ё
041 29 )   169 A9 ©
042 2A *   170 AA Є
043 2B +   171 AB «
044 2C ,   172 AC ¬
045 2D   173 AD ­
046 2E .   174 AE ®
047 2F /   175 AF Ї
048 30 0   176 B0 °
049 31 1   177 B1 ±
050 32 2   178 B2 І
051 33 3   179 B3 і
052 34 4   180 B4 ґ
053 35 5   181 B5 µ
054 36 6   182 B6
055 37 7   183 B7 ·
056 38 8   184 B8 ё
057 39 9   185 B9
058 3A :   186 BA є
059 3B ;   187 BB »
060 3C <   188 BC ј
061 3D =   189 BD Ѕ
062 3E >   190 BE ѕ
063 3F ?   191 BF ї
064 40 @   192 C0 А
065 41 A   193 C1 Б
066 42 B   194 C2 В
067 43 C   195 C3 Г
068 44 D   196 C4 Д
069 45 E   197 C5 Е
070 46 F   198 C6 Ж
071 47 G   199 C7 З
072 48 H   200 C8 И
073 49 I   201 C9 Й
074 4A J   202 CA К
075 4B K   203 CB Л
076 4C L   204 CC М
077 4D M   205 CD Н
078 4E N   206 CE О
079 4F O   207 CF П
080 50 P   208 D0 Р
081 51 Q   209 D1 С
082 52 R   210 D2 Т
083 53 S   211 D3 У
084 54 T   212 D4 Ф
085 55 U   213 D5 Х
086 56 V   214 D6 Ц
087 57 W   215 D7 Ч
088 58 X   216 D8 Ш
089 59 Y   217 D9 Щ
090 5A Z   218 DA Ъ
091 5B [   219 DB Ы
092 5C   220 DC Ь
093 5D ]   221 DD Э
094 5E ^   222 DE Ю
095 5F _   223 DF Я
096 60 `   224 E0 а
097 61 a   225 E1 б
098 62 b   226 E2 в
099 63 c   227 E3 г
100 64 d   228 E4 д
101 65 e   229 E5 е
102 66 f   230 E6 ж
103 67 g   231 E7 з
104 68 h   232 E8 и
105 69 i   233 E9 й
106 6A j   234 EA к
107 6B k   235 EB л
108 6C l   236 EC м
109 6D m   237 ED н
110 6E n   238 EE о
111 6F o   239 EF п
112 70 p   240 F0 р
113 71 q   241 F1 с
114 72 r   242 F2 т
115 73 s   243 F3 у
116 74 t   244 F4 ф
117 75 u   245 F5 х
118 76 v   246 F6 ц
119 77 w   247 F7 ч
120 78 x   248 F8 ш
121 79 y   249 F9 щ
122 7A z   250 FA ъ
123 7B {   251 FB ы
124 7C |   252 FC ь
125 7D }   253 FD э
126 7E ~   254 FE ю
127 7F DEL   255 FF я

Описание специальных (управляющих) символов

Первоначально управляющие символы таблицы ASCII (диапазон 00-31, плюс 127) были разработаны для того, чтобы управлять устройствами аппаратных средств, таких как телетайп, ввод данных на перфоленту и др.
Управляющие символы (кроме горизонтальной табуляции, перевода строки и возврата каретки) не используются в HTML-документах.

Cпециальные (управляющие) символы

Код Описание
NUL, 00 Null, пустой
SOH, 01 Start Of Heading, начало заголовка
STX, 02 Start of TeXt, начало текста
ETX, 03 End of TeXt, конец текста
EOT, 04 End of Transmission, конец передачи
ENQ, 05 Enquire. Прошу подтверждения
ACK, 06 Acknowledgement. Подтверждаю
BEL, 07 Bell, звонок
BS, 08 Backspace, возврат на один символ назад
TAB, 09 Tab, горизонтальная табуляция
LF, 0A Line Feed, перевод строки
Сейчас в большинстве языков программирования обозначается как n
VT, 0B Vertical Tab, вертикальная табуляция
FF, 0C Form Feed, прогон страницы, новая страница
CR, 0D Carriage Return, возврат каретки
Сейчас в большинстве языков программирования обозначается как r
SO, 0E Shift Out, изменить цвет красящей ленты в печатающем устройстве
SI, 0F Shift In, вернуть цвет красящей ленты в печатающем устройстве обратно
DLE, 10 Data Link Escape, переключение канала на передачу данных
DC1, 11
DC2, 12
DC3, 13
DC4, 14
Device Control, символы управления устройствами
NAK, 15 Negative Acknowledgment, не подтверждаю
SYN, 16 Synchronization. Символ синхронизации
ETB, 17 End of Text Block, конец текстового блока
CAN, 18 Cancel, отмена переданного ранее
EM, 19 End of Medium, конец носителя данных
SUB, 1A Substitute, подставить. Ставится на месте символа, значение которого было потеряно или испорчено при передаче
ESC, 1B Escape Управляющая последовательность
FS, 1C File Separator, разделитель файлов
GS, 1D Group Separator, разделитель групп
RS, 1E Record Separator, разделитель записей
US, 1F Unit Separator, разделитель юнитов
DEL, 7F Delete, стереть последний символ.

Смотрите также:

URL коды символов ACSII

URL коды символов UTF-8 диапазон от U+0400 до U+04FF

HTML Кодирование URL

Таблица кодов символов кирилицы UTF-8



Кодировка текста – это схема нумерации символов, в которой каждому символу, цифре или знаку присвоено соответствующее число. Кодировку используют для сохранения и обработки текста на компьютере. Каждый раз при сохранении текста в файл он сохраняется с использованием определенной схемы кодирования, и при открытии этого файла необходимо использовать такую же схему, иначе восстановить исходный текст не получится. Самыми популярными кодировками для кириллицы сейчас являются UTF-8, Windows-1251 (CP1251, ANSI).

Для того чтобы программа смогла правильно открыть текстовый файл, иногда приходится вручную менять кодировку, перекодируя текст из одной схемы в другую. Например, не редко возникают проблемы с открытием файлов CSV, XML, SQL, TXT, PHP.

В этой небольшой статье мы расскажем о том, как изменить кодировку текстового файла на UTF-8, Windows-1251 или любую другую.

Блокнот Windows

Если вы используете операционную систему Windows 10 или Windows 11, то вы можете изменить кодировку текста с помощью стандартной программы Блокнот. Для этого нужно открыть текстовый файл с помощью Блокнота и воспользоваться меню «Файл – Сохранить как».

меню Файл – Сохранить как

В открывшемся окне нужно указать новое название для файла, выбрать подходящую кодировку и нажать на кнопку «Сохранить».

изменить кодировку в Блокноте

К сожалению, для подобных задач программа Блокнот часто не подходит. С ее помощью нельзя открывать документы большого размера, и она не поддерживает многие кодировки. Например, с помощью Блокнота нельзя открыть текстовые файлы в DOS 866.

Notepad++

Notepad++ (скачать) является одним из наиболее продвинутых текстовых редакторов. Он обладает подсветкой синтаксиса языков программирования, позволяет выполнять поиск и замену по регулярным выражениям, отслеживать изменения в файлах, записывать и воспроизводить макросы, считать хеш-сумы и многое другое. Одной из основных функций Notepad++ является поддержка большого количества кодировок текста и возможность изменения кодировки текстового файла в UTF-8 или Windows 1251.

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

выбрать кодировку в Notepad++

После открытия текста можно изменить его кодировку. Для этого нужно открыть меню «Кодировки» и выбрать один из вариантов преобразования. Notepad++ позволяет изменить текущую кодировку текста на ANSI (Windows-1251), UTF-8, UTF-8 BOM, UTF-8 BE BOM, UTF-8 LE BOM.

изменить кодировку в Notepad++

После преобразования файл нужно сохранить с помощью меню «Файл – Сохранить» или комбинации клавиш Ctrl-S.

Akelpad

Akelpad (скачать) – достаточно старая программа для работы с текстовыми файлами, которая все еще актуальна и может быть полезной. Фактически Akelpad является более продвинутой версией стандартной программы Блокнот из Windows. С его помощью можно открывать текстовые файлы большого размера, которые не открываются в Блокноте, выполнять поиск и замену с использованием регулярных выражений и менять кодировку текста.

Для того чтобы изменить кодировку текста с помощью Akelpad файл нужно открыть в данной программе. Если после открытия файла текст не читается, то нужно воспользоваться меню «Файл – Открыть».

открыть файл в Akelpad

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

выбрать кодировку в Akelpad

Для того чтобы изменить текущую кодировку текста нужно воспользоваться меню «Файл – Сохранить как» и сохранить документ с указанием новой схемы кодирования.

изменить кодировку в Akelpad

В отличие от Notepad++, текстовый редактор Akelpad позволяет сохранить файл в практически любой кодировке. В частности, доступны Windows 1251, DOS 886, UTF-8 и многие другие.

Посмотрите также:

  • Чем открыть PDF файл в Windows 7 или Windows 10
  • Как перевернуть страницу в Word
  • Как копировать текст с помощью клавиатуры
  • Как сделать рамку в Word
  • Как сделать буклет в Word

Автор
Александр Степушин

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Остались вопросы?

Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Сегодня мы поговорим с вами про то, откуда берутся кракозябры на сайте и в программах, какие кодировки текста существуют и какие из них следует использовать. Подробно рассмотрим историю их развития, начиная от базовой ASCII, а также ее расширенных версий CP866, KOI8-R, Windows 1251 и заканчивая современными кодировками консорциума Юникод UTF 16 и 8.

Кодировка русского языка UTF 8 самая часто встречаемая

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

ASCII — базовая кодировка текста для латиницы

Развитие кодировок текстов происходило одновременно с формированием отрасли IT, и они за это время успели претерпеть достаточно много изменений. Исторически все начиналось с довольно-таки не благозвучной в русском произношении EBCDIC, которая позволяла кодировать буквы латинского алфавита, арабские цифры и знаки пунктуации с управляющими символами.

Но все же отправной точкой для развития современных кодировок текстов стоит считать знаменитую ASCII (American Standard Code for Information Interchange, которая по-русски обычно произносится как «аски»). Она описывает первые 128 символов из наиболее часто используемых англоязычными пользователями — латинские буквы, арабские цифры и знаки препинания.

Еще в эти 128 знаков, описанных в ASCII, попадали некоторые служебные символы навроде скобок, решеток, звездочек и т.п. Собственно, вы сами можете увидеть их:

Пример кодировки ASCII

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

Но дело в том, что с помощью одного байта информации можно закодировать не 128, а целых 256 различных значений (двойка в степени восемь равняется 256), поэтому вслед за базовой версией Аски появился целый ряд расширенных кодировок ASCII, в которых можно было кроме 128 основных знаков закодировать еще и символы национальной кодировки (например, русской).

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

Преобразование двоичных чисел в шестнадцатиричные при кодировании

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

В нашем примере это получается 1 (2 в степени ноль) плюс 8 (два в степени 3), плюс 32 (двойка в пятой степени), плюс 64 (в шестой), плюс 128 (в седьмой). Итого получает 233 в десятичной системе счисления. Как видите, все очень просто.

Но если вы присмотритесь к таблице с символами ASCII, то увидите, что они представлены в шестнадцатеричной кодировке. Например, «звездочка» соответствует в Аски шестнадцатеричному числу 2A. Наверное, вам известно, что в шестнадцатеричной системе счисления используются кроме арабских цифр еще и латинские буквы от A (означает десять) до F (означает пятнадцать).

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

Причем, в левой половине байта считать степени нужно будет опять начиная с нулевой, а не так, как показано на скриншоте. В результате, путем нехитрых вычислений, мы получим, что на скриншоте закодировано число E9. Надеюсь, что ход моих рассуждений и разгадка данного ребуса вам оказались понятны. Ну, а теперь продолжим, собственно, говорить про кодировки текста.

Расширенные версии Аски — кодировки CP866 и KOI8-R с псевдографикой

Итак, мы с вами начали говорить про ASCII, которая являлась как бы отправной точкой для развития всех современных кодировок (Windows 1251, юникод, UTF 8).

Изначально в нее было заложено только 128 знаков латинского алфавита, арабских цифр и еще чего-то там, но в расширенной версии появилась возможность использовать все 256 значений, которые можно закодировать в одном байте информации. Т.е. появилась возможность добавить в Аски символы букв своего языка.

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

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

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

Значит, чтобы закодировать любой нужный нам символ (например, из национального алфавита), должно быть выполнено два условия — векторная форма этого знака должна быть в используемом шрифте и этот символ можно было бы закодировать в расширенных кодировках ASCII в один байт. Поэтому таких вариантов существует целая куча. Только лишь для кодирования символов русского языка существует несколько разновидностей расширенной Аски.

Например, изначально появилась CP866, в которой была возможность использовать символы русского алфавита и она являлась расширенной версией ASCII.

Т.е. ее верхняя часть полностью совпадала с базовой версией Аски (128 символов латиницы, цифр и еще всякой лабуды), которая представлена на приведенном чуть выше скриншоте, а вот уже нижняя часть таблицы с кодировкой CP866 имела указанный на скриншоте чуть ниже вид и позволяла закодировать еще 128 знаков (русские буквы и всякая там псевдографика):

Русская кодировка CP866

Видите, в правом столбце цифры начинаются с 8, т.к. числа с 0 до 7 относятся к базовой части ASCII (см. первый скриншот). Т.о. русская буква «М» в CP866 будет иметь код 9С (она находится на пересечении соответствующих строки с 9 и столбца с цифрой С в шестнадцатеричной системе счисления), который можно записать в одном байте информации, и при наличии подходящего шрифта с русскими символами эта буква без проблем отобразится в тексте.

Откуда взялось такое количество псевдографики в CP866? Тут все дело в том, что эта кодировка для русского текста разрабатывалась еще в те мохнатые года, когда не было такого распространения графических операционных систем как сейчас. А в Досе, и подобных ей текстовых операционках, псевдографика позволяла хоть как-то разнообразить оформление текстов и поэтому ею изобилует CP866 и все другие ее ровесницы из разряда расширенных версий Аски.

CP866 распространяла компания IBM, но кроме этого для символов русского языка были разработаны еще ряд кодировок, например, к этому же типу (расширенных ASCII) можно отнести KOI8-R:

Пример кодировки русского языка KOI8-R

Принцип ее работы остался тот же самый, что и у описанной чуть ранее CP866 — каждый символ текста кодируется одним единственным байтом. На скриншоте показана вторая половина таблицы KOI8-R, т.к. первая половина полностью соответствует базовой Аски, которая показана на первом скриншоте в этой статье.

Среди особенностей кодировки KOI8-R можно отметить то, что русские буквы в ее таблице идут не в алфавитном порядке, как это, например, сделали в CP866.

Если посмотрите на самый первый скриншот (базовой части, которая входит во все расширенные кодировки), то заметите, что в KOI8-R русские буквы расположены в тех же ячейках таблицы, что и созвучные им буквы латинского алфавита из первой части таблицы. Это было сделано для удобства перехода с русских символов на латинские путем отбрасывания всего одного бита (два в седьмой степени или 128).

Windows 1251 — современная версия ASCII и почему вылезают кракозябры

Дальнейшее развитие кодировок текста было связано с тем, что набирали популярность графические операционные системы и необходимость использования псевдографики в них со временем пропала. В результате возникла целая группа, которая по своей сути по-прежнему являлись расширенными версиями Аски (один символ текста кодируется всего одним байтом информации), но уже без использования символов псевдографики.

Они относились к так называемым ANSI кодировкам, которые были разработаны американским институтом стандартизации. В просторечии еще использовалось название кириллица для варианта с поддержкой русского языка. Примером такой может служить Windows 1251.

Она выгодно отличалась от используемых ранее CP866 и KOI8-R тем, что место символов псевдографики в ней заняли недостающие символы русской типографики (окромя знака ударения), а также символы, используемые в близких к русскому славянских языках (украинскому, белорусскому и т.д.):

Windows 1251

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

Очень часто они вылезали при отправке и получении сообщений по электронной почте, что повлекло за собой создание очень сложных перекодировочных таблиц, которые, собственно, решить эту проблему в корне не смогли, и зачастую пользователи для переписки использовали транслит латинских букв, чтобы избежать пресловутых кракозябров при использовании русских кодировок подобных CP866, KOI8-R или Windows 1251.

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

Допустим, если символы, закодированные с помощью CP866, попробовать отобразить, используя кодовую таблицу Windows 1251, то эти самые кракозябры (бессмысленный набор знаков) и вылезут, полностью заменив собой текст сообщения.

Пример кракозябров

Аналогичная ситуация очень часто возникает при создании сайтов на WordPress и Joomla, форумов или блогов, когда текст с русскими символами по ошибке сохраняется не в той кодировке, которая используется на сайте по умолчанию, или же не в том текстовом редакторе, который добавляет в код отсебятину не видимую невооруженным глазом.

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

Юникод (Unicode) — универсальные кодировки UTF 8, 16 и 32

Эти тысячи знаков языковой группы юго-восточной Азии никак невозможно было описать в одном байте информации, который выделялся для кодирования символов в расширенных версиях ASCII. В результате был создан консорциум под названием Юникод (Unicode — Unicode Consortium) при сотрудничестве многих лидеров IT индустрии (те, кто производит софт, кто кодирует железо, кто создает шрифты), которые были заинтересованы в появлении универсальной кодировки текста.

Первой вариацией, вышедшей под эгидой консорциума Юникод, была UTF 32. Цифра в названии кодировки означает количество бит, которое используется для кодирования одного символа. 32 бита составляют 4 байта информации, которые понадобятся для кодирования одного единственного знака в новой универсальной кодировке UTF.

В результате чего, один и тот же файл с текстом, закодированный в расширенной версии ASCII и в UTF-32, в последнем случае будет иметь размер (весить) в четыре раза больше. Это плохо, но зато теперь у нас появилась возможность закодировать с помощью ЮТФ число знаков, равное двум в тридцать второй степени (миллиарды символов, которые покроют любое реально необходимое значение с колоссальным запасом).

Но многим странам с языками европейской группы такое огромное количество знаков использовать в кодировке вовсе и не было необходимости, однако при задействовании UTF-32 они ни за что ни про что получали четырехкратное увеличение веса текстовых документов, а в результате и увеличение объема интернет трафика и объема хранимых данных. Это много, и такое расточительство себе никто не мог позволить.

В результате развития Юникода появилась UTF-16, которая получилась настолько удачной, что была принята по умолчанию как базовое пространство для всех символов, которые у нас используются. Она использует два байта для кодирования одного знака. Давайте посмотрим, как это дело выглядит.

В операционной системе Windows вы можете пройти по пути «Пуск» — «Программы» — «Стандартные» — «Служебные» — «Таблица символов». В результате откроется таблица с векторными формами всех установленных у вас в системе шрифтов. Если вы выберете в «Дополнительных параметрах» набор знаков Юникод, то сможете увидеть для каждого шрифта в отдельности весь ассортимент входящих в него символов.

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

Юникод в формате UTF-16

Сколько символов можно закодировать в UTF-16 с помощью 16 бит? 65 536 (два в степени шестнадцать), и именно это число было принято за базовое пространство в Юникоде. Помимо этого существуют способы закодировать с помощью нее и около двух миллионов знаков, но ограничились расширенным пространством в миллион символов текста.

Но даже эта удачная версия кодировки Юникода не принесла особого удовлетворения тем, кто писал, допустим, программы только на английском языке, ибо у них, после перехода от расширенной версии ASCII к UTF-16, вес документов увеличивался в два раза (один байт на один символ в Аски и два байта на тот же самый символ в ЮТФ-16).

Вот именно для удовлетворения всех и вся в консорциуме Unicode было решено придумать кодировку переменной длины. Ее назвали UTF-8. Несмотря на восьмерку в названии, она действительно имеет переменную длину, т.е. каждый символ текста может быть закодирован в последовательность длиной от одного до шести байт.

На практике же в UTF-8 используется только диапазон от одного до четырех байт, потому что за четырьмя байтами кода ничего уже даже теоретически не возможно представить. Все латинские знаки в ней кодируются в один байт, так же как и в старой доброй ASCII.

Что примечательно, в случае кодирования только латиницы, даже те программы, которые не понимают Юникод, все равно прочитают то, что закодировано в ЮТФ-8. Т.е. базовая часть Аски просто перешла в это детище консорциума Unicode.

Кириллические же знаки в UTF-8 кодируются в два байта, а, например, грузинские — в три байта. Консорциум Юникод после создания UTF 16 и 8 решил основную проблему — теперь у нас в шрифтах существует единое кодовое пространство. И теперь их производителям остается только исходя из своих сил и возможностей заполнять его векторными формами символов текста. Сейчас в наборы даже эмодзи смайлики добавляют.

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

Кракозябры вместо русских букв — как исправить

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

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

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

Как исправить кракозябры в кодировке utf-8

В случае сайта на Joomla 1.5 и выше, а также в случае блога на WordPress следует во избежании появления кракозябров выбирать вариант UTF 8 без BOM. А что такое приставка BOM?

Дело в том, что когда разрабатывали кодировку ЮТФ-16, зачем-то решили прикрутить к ней такую вещь, как возможность записывать код символа, как в прямой последовательности (например, 0A15), так и в обратной (150A). А для того, чтобы программы понимали, в какой именно последовательности читать коды, и был придуман BOM (Byte Order Mark или, другими словами, сигнатура), которая выражалась в добавлении трех дополнительных байтов в самое начало документов.

В кодировке UTF-8 никаких BOM предусмотрено в консорциуме Юникод не было и поэтому добавление сигнатуры (этих самых пресловутых дополнительных трех байтов в начало документа) некоторым программам просто-напросто мешает читать код. Поэтому мы всегда при сохранении файлов в ЮТФ должны выбирать вариант без BOM (без сигнатуры). Таким образом, вы заранее обезопасите себя от вылезания кракозябров.

Что примечательно, некоторые программы в Windows не умеют этого делать (не умеют сохранять текст в ЮТФ-8 без BOM), например, все тот же пресловутый Блокнот Windows. Он сохраняет документ в UTF-8, но все равно добавляет в его начало сигнатуру (три дополнительных байта). Причем эти байты будут всегда одни и те же — читать код в прямой последовательности. Но на серверах из-за этой мелочи может возникнуть проблема — вылезут кракозябры.

Поэтому ни в коем случае не пользуйтесь обычным блокнотом Windows для редактирования документов вашего сайта, если не хотите появления кракозябров. Лучшим и наиболее простым вариантом я считаю уже упомянутый редактор Notepad++, который практически не имеет недостатков и состоит из одних лишь достоинств.

В Notepad ++ при выборе кодировки у вас будет возможность преобразовать текст в кодировку UCS-2, которая по своей сути очень близка к стандарту Юникод. Также в Нотепаде можно будет закодировать текст в ANSI, т.е. применительно к русскому языку это будет уже описанная нами чуть выше Windows 1251. Откуда берется эта информация?

Она прописана в реестре вашей операционной системы Windows — какую кодировку выбирать в случае ANSI, какую выбирать в случае OEM (для русского языка это будет CP866). Если вы установите на своем компьютере другой язык по умолчанию, то и эти кодировки будут заменены на аналогичные из разряда ANSI или OEM для того самого языка.

После того, как вы в Notepad++ сохраните документ в нужной вам кодировке или же откроете документ с сайта для редактирования, то в правом нижнем углу редактора сможете увидеть ее название:

Как узнать тип кодировки текстового документа

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

Вообще, во всех языках гипертекстовой разметки кроме Html используется специальное объявление xml, в котором указывается кодировка текста.

<?xml version="1.0" encoding="windows-1251"?>

Прежде, чем начать разбирать код, браузер узнает, какая версия используется и как именно нужно интерпретировать коды символов этого языка. Но что примечательно, в случае, если вы сохраняете документ в принятом по умолчанию юникоде, то это объявление xml можно будет опустить (кодировка будет считаться UTF-8, если нет BOM или ЮТФ-16, если BOM есть).

В случае же документа языка Html для указания кодировки используется элемент Meta, который прописывается между открывающим и закрывающим тегом Head:

<head>
...
<meta charset="utf-8">
...
</head>

Эта запись довольно сильно отличается от принятой в стандарте в Html 4.01, но полностью соответствует новому внедряемому потихоньку стандарту Html 5, и она будет стопроцентно правильно понята любыми используемыми на текущий момент браузерами.

По идее, элемент Meta с указание кодировки Html документа лучше будет ставить как можно выше в шапке документа, чтобы на момент встречи в тексте первого знака не из базовой ANSI (которые правильно прочитаются всегда и в любой вариации) браузер уже должен иметь информацию о том, как интерпретировать коды этих символов.

В начале 90-х, когда произошел развал СССР и границы России были открыты, к нам стали поступать программные продукты западного производства. Естественно, все они были англоязычными. В это же время начинает развиваться Интернет. Остро встала проблема русификации ресурсов и программ. Тогда и была придумана русская кодировка Windows 1251. Она позволяет корректно отображать буквы славянских алфавитов:

  • русского;
  • украинского;
  • белорусского;
  • сербского;
  • болгарского;
  • македонского.

Разработка велась русским представительством Microsoft совместно с компаниями «Диалог» и «Параграф». За основу были взяты самописные разработки, которые в 1990-91гг имели хождение среди немногочисленных идеологов ИТ в России.

На сегодняшний день разработан более универсальный способ кодировать символы — UTF-8 (Юникод). В нем представлено почти 90% всех программных и веб-ресурсов. Windows 1251 применяется в 1,6% случаев. (Информация по исследованиям Web Technology Surveys)

Кодировка сайта utf 8 или Windows 1251?

Чтобы ответить на этот вопрос, необходимо немного понять, что такое кодировка и чем они отличаются. Текстовая информация, как впрочем, и любая другая, в компьютере хранится в закодированном виде. Нам легче представить ее как числа. Каждый символ может занимать один или более байт. Windows 1251 является однобайтной кодировкой, а UTF-8 восьмибайтной. Это значит, что в Windows 1251 можно закодировать всего 256 символов.
Так как все сводится к двоичной системе исчисления, а байт – это 8 бит (0 и 1), то и максимальное число сочетаний составляет 28 = 256. Юникод позволяет представлять куда большее число символов, да и на каждый может быть выделен больший размер.

Отсюда и следуют преимущества Юникода:

  1. В шапке сайта следует указать кодировку, которая используется. Иначе вместо символов отобразятся «кракозяблы». А Юникод является стандартным для всех браузеров – они ловят его «на лету» как установленный по умолчанию.
  2. Символы сайта останутся одними и теми же, независимо от того, в какой стране загружается ресурс. Это зависит не от географического расположения серверов, а от языка программного обеспечения рабочих станций клиента. Житель Португалии, очевидно, использует клавиатуру и все ПО, включая операционную систему, на родном языке. В его компьютере, скорее всего вообще отсутствует Windows 1251. А если это так, то и сайты на русском языке корректно открываться не будут. Юникод, в свою очередь, «зашит» в любую ОС на любом языке.
  3. UTF-8 позволяет закодировать большее количество символов. На данный момент используется 6 байт из 8-ми, а русские символы кодируются двумя байтами.
    Именно поэтому предпочтительней использовать универсальную кодировку, а не узкоспециализированную, которая применяется только в славянских странах.

Таблица кодировки Windows 1251

Для программистов и разработчиков сайтов бывает необходимо знать номера символов. Для этого используются специальные таблицы кодировки. Ниже представлена таблица для Windows 1251.

Что делать, если слетела кодировка командной строки?

Иногда Вы можете столкнуться с ситуацией, когда в командной строке вместо русских отображаются непонятные символы. Это означает, что возникла проблема кодировки командной строки Windows 7. Почему 7-ка? Потому что, начиная с 8-й версии, используется UTF-8, а в семерке еще Windows 1251.
Единовременно помочь решить проблему может команда chcp 866. Текущий сеанс будет работать корректно. А вот чтобы исправить ошибку кардинально, понадобится реестр.

  1. Нажмите Win+R и наберите команду regedit. Это позволит попасть в редактор реестра.
  2. Перейдите по ветке HKEY_CURRENT_USERConsole и посмотрите, чему равно значение для CodePage. Скорее всего, вы увидите что-то, отличное от 866 (правильный вариант).
  3. Исправьте на 866 в положении «Десятичная».
  4. Закройте и откройте вновь командную строку. Ситуация должна исправиться.

Отличного Вам дня!

Продолжение. См. № 7/2009

Выполняя лабораторную работу (см. №
7/2009), учащиеся получили кодовую таблицу для Windows

CP-1251. Следующие этапы практикума — познакомиться
с существованием множества кодовых таблиц,
самостоятельно получить другие кодовые таблицы
с символами кириллицы и, наконец, написать
программу перекодировки текста (все
программирование в этом варианте курса
информатики — на Лого).

Учебные материалы и задания для
учащихся

Таблицы кодировки

Наверное, вам приходилось
сталкиваться с ситуацией, когда текст на экране
компьютера выглядит, как нарочно зашифрованный.
Например, так:

Происходят такие неприятности в
результате существования не одной-единственной,
а нескольких таблиц кодировки. Почему так
получилось?

Американский стандартный код для
обмена информацией (ASCII) первоначально был
разработан для передачи текстов по телеграфу,
причем в то время он был 7-битовым, то есть для
кодирования символов анг­лийского языка,
служебных и управляющих символов использовались
только 128 семибитовых комбинаций. При этом первые
32 кода служили для кодирования управляющих
сигналов (начало текста, конец строки, перевод
каретки, звонок, конец текста и т.д.). При
разработке первых компьютеров фирмы IBM этот код
был использован для представления символов в
компьютере. На кодирование каждого символа был
отведен байт, а поскольку в исходном коде ASCII было
всего 128 символов, для их кодирования хватило
половины восьмибайтовых кодов.

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

Когда стали приспосабливать
компьютеры для других стран и языков, фирма IBM
ввела в употребление несколько кодовых таблиц,
ориентированных на конкретные страны. Так, для
скандинавских стран была предложена таблица CP-865
(Nordic), для арабских стран — таблица CP-864 (Arabic), для
Израиля — таб­лица CP-862 (Israel) и так далее. В этих
таблицах часть кодов из второй половины кодовой
таблицы использовалась для представления
символов национальных алфавитов.

С русским языком ситуация развивалась
особым образом. Появилось несколько разных
таблиц с символами кириллицы: KOI8-R, CP-866, CP-1251
(именно ее вы получили в лабораторной работе),
ISO-8551-5…

Одна из причин в том, что таблица
кодировки связана с операционной системой
(операционная система управляет компьютером и
осуществляет операции ввода-вывода информации).

Программы для работы с текстами —
текстовые редакторы, браузеры — “умеют”
перекодировать текст в соответствии с указанной
таблицей кодировки.

Кодировка на web-странице

Грамотно сделанный HTML-документ
обязательно должен содержать специальный тег с
указанием использованной в нем таблицы
кодировки. Если вы попали в Интернете на
“нечитаемую” страницу, то скорее всего в HTML-коде
нет тега с кодировкой. Но браузер поможет вам
прочесть страницу. Для этого в браузерах есть
специальное меню.

Например, в браузере Internet Explorer зайдите
в пункт меню View/Encoding (Вид/Кодировка). Вы
увидите меню, в котором можно выбрать таблицу
кодировки. Попробуйте изменить кодировку этой
страницы.

Но даже наличие множества различных
национальных таблиц кодировки не может решить
всех проблем с кодированием текстов. Для таких
языков, как китайский или японский, вообще 256
символов недостаточно. Кроме того, всегда
существует проблема вывода или сохранения в
одном файле одновременно текстов на разных
языках (например, при цитировании).

Поэтому была разработана
универсальная кодовая таблица UNICODE, содержащая
символы, применяемые в языках всех народов мира,
а также различные служебные и вспомогательные
символы (знаки препинания, математические и
технические символы, стрелки, диакритические
знаки и т.д.).

Очевидно, что одного байта
недостаточно для кодирования такого большого
количества символов в одной таблице. Поэтому в
UNICODE используются 16-битовые (двухбайтовые) коды. К
настоящему времени задействовано около 49 000
кодов, время от времени в таблицу добавляются
новые знаки. Например, в сентябре 1998 г. в таблицу
был внесен символ валюты EURO.

Сейчас в компьютерном мире
сосуществуют однобайтовые и двухбайтовые
таблицы кодировки, но постепенно будет полностью
осуществлен переход на UNICODE.

Задание

1. Подберите с помощью браузера
кодировку для следующих страниц.


Примечание для читателя
“Информатики”
: учитель создает для этого
задания две-три web-страницы с текстом в разных
кодировках и тэг <meta> с указанием кодовой
страницы удаляет.

Запишите, какие таблицы кодировки
использованы в этих документах.

2. Вы обратили внимание на то, что при
любых изменениях кодировки английские слова
прекрасно читаются? Объясните, почему так
получается.

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

Получение разных кодовых таблиц

Выполняя лабораторную работу, вы
получили шестнадцатеричную кодовую таблицу CP-1251.
Ведь именно с этой таблицей работает
русифицированная операционная среда Windows.

Для получения таблицы вы написали
программу на Лого. А таблицу поместили и оформили
в документе MS Word. Если эту таблицу поместить на
web-страницу (то есть в документ HTML), то можно с
помощью браузера получить и другие таблицы
кодировки.

1. Получение web-страницы с таблицей
кодировки

Помните, какие тэги нужны для создания
таблицы на web-странице? Вот пример HTML-кода для
таблицы, состоящей из четырех ячеек (двух
столбцов и двух строк):

<TABLE>

<TR> (начало первой строки)

<TD> содержимое ячейки 1 </TD>

<TD> содержимое ячейки 2 </TD>

</TR>(конец первой строки)

<TR> (начало второй строки)

<TD> содержимое ячейки 3 </TD>

<TD> содержимое ячейки 4 </TD>

</TR>(конец второй строки)

</TABLE>

Откройте вашу программу получения
таблицы кодировки. Внесите в программу
изменения: в текстовое окно должны попасть
теперь еще и тэги для строк и ячеек. Не забудьте
добавить тэги структуры HTML-документа.
В результате в текстовом окне должен
появиться HTML-код web-страницы, содержащей кодовую
таблицу.
Сохраните текст в файле. Не забудьте про
расширение имени файла!

Просмотрите получившуюся страницу в
браузере. Если с таблицей все в порядке, можно
начинать эксперименты.

Попробуйте менять кодировку страницы
— вид таб­лицы должен меняться. Таким образом
можно получить все кодовые таблицы, имеющиеся в
браузере (только однобайтовые, конечно!).


Сформулируйте, что именно меняется
в таблице при переходе от одной кодировки к
другой.

2. Добавление десятичного номера

Для вашей следующей работы (создания
программы-перекодировщика) нужно, чтобы в
таблице были еще и десятичные номера символов.
Например, так, как на этой картинке:

Усовершенствуйте вашу программу так,
чтобы на web-странице появились и номера. Сделайте
скриншоты кодовых таблиц с кириллицей: Windows-1251,
KOI8-R, CP-866, MacCyrillic. Сохраните скриншоты в отдельных
файлах в формате GIF.

Время на выполнение этой части
практикума — 3 урока.

Пример решения

Исходная программа:

это таблица

make «n 32

repeat 14 [строчка :n pr [] make «n :n + 16]

end

это строчка :n

repeat 16 [insert char :n insert char 32

make «n :n + 1]

end

Результат — 14 строк по 16 символов в
каждой.

Программа, создающая HTML-код (без
десятичных номеров):

это таблица_html

make «n 32

insert [<html> <body> <table>]

repeat 14 [insert [<tr>] строчка_html :n

insert [</tr>] pr[] make «n :n + 16]

insert [</table> </body> </html>]

end

это строчка_html :n

repeat 16

[insert [<td>] insert char :n insert char 32

insert [</td>] make «n :n + 1]

end

Результат — код web-страницы с кодовой
таблицей. В коде не содержится тэг с указанием
кодировки, поэтому на этой странице можно
увидеть любую однобайтовую таблицу кодировки.

Программа, выводящая HTML-код для
страницы, на которой кодовая таблица с
подписанными под каждым символом десятичными
номерами:

это таблица_html_1

make «n 32

insert [<html> <body> <table>]

repeat 14

[insert [<tr>] строчка_html :n insert

[</tr>] pr[]

insert [<tr>] номер :n pr []

make «n :n + 16]]

insert [</table> </body> </html>]

end

это строчка_html :n

repeat 16

[insert [<td>] insert char :n

insert char 32 insert [</td>] make «n :n + 1]

end

это номер :n

repeat 16

[insert [<td>] insert :n

insert char 32 insert [</td>]

make «n :n + 1]

end

В таблице оказывается вдвое больше
строк (28). Дополнительная вспомогательная
процедура номер создает под
каждым символом его десятичный код.

Выполняя предыдущее задание, учащиеся
самостоятельно получили несколько кодовых
таблиц с символами кириллицы. Конечная цель
практикума — создание программы
перекодирования текста, содержащего русские
буквы, из кодировки Windows-1251 в кодировку DOS-866 и
обратно.

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

Версия среды — ЛогоМиры 2.0. Время — 6
уроков.

Команды
перемещения курсора по тексту

Команды
для редактирования текста

CF
(cursor forward)

на одну позицию
вправо

SELECT

включить режим
выделения

CB
(cursor back)

на одну позицию
влево

UNSELECT

снять выделение

CU
(cursor up)

на одну строку
вверх

COPY

CD
(cursor down)

на одну строку
вниз

CUT

TOP

в начало текста

PASTE

BOTTOM

в конец текста

DELETE

Учебные материалы и задания для
учащихся

Как зашифровать текст

Редактируя какой-либо текст, вы
перемещаете курсор, выделяете фрагменты, затем
копируете или вырезаете их. При этом копия
фрагмента попадает в буфер обмена и потом может
быть использована для вставки. Все эти действия
можно запрограммировать, и для этого в среде
ЛогоМиры имеется целый набор команд и операций.

Например, инструкция REPEAT 10
[CF]
переместит курсор на десять “шагов”
вправо. А выполнение инструкции SELECT
REPEAT 10 [CF]
приведет к тому, что следующие десять
знаков текста будут выделены. Если выполнить
после этого команду CUT, то
выделенный фрагмент текста будет вырезан.

Все новые команды не имеют параметров.

Откройте новый файл ЛогоМиров и
создайте на листе текстовое окно. Сохраните файл
в вашем рабочем каталоге. Для дальнейшей работы
вам понадобится небольшой пробный текст — 3–4
абзаца. Наберите текст произвольного содержания
и сохраните его с помощью команды SAVETEXT
«имя_файла
. Текстовый файл будет записан в
ваш рабочий каталог. Проверьте действие
приведенных выше инструкций, содержащих команды
для работы с текстом.

Кроме команд, вам понадобятся новые
операции. В языке Лого команда позволяет
выполнить какие-то действия. Операция (иногда
используется слово датчик) помогает что-либо
измерить или вычислить. Например, операция COLOR нужна для определения цвета
черепашки, а операция COLORUNDER
для определения цвета поля, на котором черепашка
находится. Результат, возвращаемый операцией,
должен быть передан команде (или другой операции,
которая передаст его команде).

Разберем, например, инструкцию PRINT RANDOM 100.

PRINT — это команда, RANDOM
— операция. Инструкция выполняется справа
налево, как бы с конца. Вначале компьютер выберет
случайное целое число в диапазоне от 0 до 100. Затем
результат выполнения операции RANDOM
будет передан команде вывода PRINT
. В результате на экране появится случайное
число.

Еще один пример.

QUESTION [Ваше имя?]

MAKE «N ANSWER

INSERT :N INSERT [! Мне приятно с Вами

познакомиться!]

Команда QUESTION выводит
текст вопроса в специальное диалоговое окно,
которое закроется после того, как вы ответите на
этот вопрос. Затем команда присваивания MAKE помещает в переменную N на хранение ваш ответ,
возвращаемый операцией ANSWER.
Значение переменной N затем
используется в диалоге.

Операции, так же как и команды, могут
быть с параметрами и без них.

Выполняя лабораторную работу
“Кодирование текста”, вы использовали операции
для работы с символами CHAR и ASCII .
Кроме них, вам понадобятся еще две новые
операции:

Эти операции не имеют параметров.
Результат операции EOT?
логическая величина, то есть ИСТИНА или ЛОЖЬ.
Логические величины используются в качестве
условий в командах ветвления.

Как можно использовать новые операции?
Предположим, нужно пересчитать все запятые в
тексте. Это можно сделать с помощью рекурсивной
процедуры. Сначала текст надо вывести на экран.
Для этого можно воспользоваться командой LOADTEXT «имя (укажите имя файла, в
котором вы сохранили пробный текст). Выведем
текст, установим курсор в начало текста и
присвоим переменной K (счетчику
запятых) значение, равное нулю. А затем запустим
рекурсивную процедуру:

это подсчет

IF EOT? [STOP]

SELECT CF COPY

IF CLIPBOARD = «, [MAKE «K :K + 1]

подсчет

END

В первой строке процедуры — условие
остановки. Если дошли до конца текста, то работа
закончена.

Во второй строке — помещение
следующего знака в буфер обмена.

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

Обратите внимание: перед запятой стоит
специальный знак языка Лого — двойная кавычка
(без пробела). Так отмечаются отдельные символы и
последовательности символов — слова. Именно
поэтому двойной кавычкой предваряется имя
переменной в команде присваивания. (А двоеточием
— другим специальным знаком языка Лого —
предваряется значение переменной.)

В четвертой, последней строке —
рекурсивный вызов нашей процедуры. Все действия
будут повторяться снова и снова, пока курсор не
доберется до конца текста.

Проверьте все приведенные примеры
использования операций в вашем файле ЛогоМиров.
А затем решите несколько задач.

Задачи

1. Напишите процедуру, вставляющую
пробелы после каждого символа в тексте.

Напишите вторую процедуру для
приведения текста в первоначальное состояние
(она должна удалить только те пробелы, которые
были вставлены первой процедурой).

Для вызова этих и последующих процедур
создавайте на листе кнопки.

2. Напишите процедуру, удаляющую все
пробелы в тексте.

3. Если вы читали “Золотого теленка”,
то, наверное, помните, как Остап Бендер купил на
толкучке печатную машинку с “турэцким
акцэнтом” (у нее отсутствовала клавиша с буквой
“е”). Напишите процедуру, заменяющую во всем
тексте буквы “е” на “э”.

4. Действуя подобным образом, можно
зашифровать текст. Подготовьте для этого
инструмент: процедуру ЗАМЕНА с двумя параметрами
— какую букву искать и на какую ее заменять.

Зашифруйте ваш текст: замените все
“а” на “ы”, “с” — на “з”, “т” — на “д”.

А затем попробуйте расшифровать,
используя ту же процедуру.

Придумайте способ, позволяющий
зашифровывать и расшифровывать текст с помощью
процедуры ЗАМЕНА. Напишите две процедуры для
шифрования и дешифрования текста методом
подстановки.

5. Напишите процедуру для другого
способа шифрования текста: каждый символ текста
с кодом больше ста должен быть заменен на
предыдущий в таблице символов (то есть на символ,
имеющий код на единицу меньше).

Напишите процедуру для дешифрования
измененного таким образом текста.

Создание программы для перекодировки
текстов

Получив несколько кодовых таблиц, вы
установили, что в таблицах кодировок CP-1251 и CP-866
русские буквы стоят на разных местах. Это и
приводит порой к тому, что текст не удается
прочитать. Если русские буквы были закодированы
по одной таблице, а программа пытается
раскодировать текст по другой таблице, то на
экране можно увидеть “абракадабру”.

Как расшифровать такой текст? Пусть мы
открыли текстовый файл редактором Блокнот и
увидели следующее:

Редактор Блокнот — это программа,
работающая под управлением операционной системы
Windows. Значит, она использует кодовую таблицу CP-1251.
Определим десятичный код каждого знака по этой
таблице, а затем посмотрим в другую кодовую
таблицу — предположим, в CP-866. И выясним, какие
знаки соответствуют этим кодам (см. схему выше).

Слово расшифровано. (Коды указаны в
десятичной системе.)

Конечно, никто не делает такую
расшифровку вручную, эту работу можно
запрограммировать. А для этого полезно выяснить,
какая зависимость существует между кодами
русских букв в таблицах CP-1251 и CP-866. Рассмотрим это
на примере слова СИМВОЛ .

225

168

172

162

174

171

код по табл. CP-866

с

и

м

в

о

л

241

232

236

226

238

235

код по табл. CP-1251

Оказывается, для первой буквы
разность кодов равна 16, а для остальных — 64. То
есть программа должна заменять такие символы,
увеличив код на 64 (так, как в задаче 5 из
предыдущего параграфа).

Для наглядности удобно изобразить
расположение символов в кодовой таблице CP-1251 на
отрезке длиной 256 условных единиц (см. рисунок
ниже).

Задание

1. Откройте новый документ MS Word.
Создайте с помощью векторного графического
редактора, встроенного в MS Word, две схемы
расположения символов в кодовых таблицах CP-1251 и
CP-866.

Полезный совет: установите для
страницы альбомную ориентацию.

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

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

В программе будет необходимо
анализировать код символа — находится ли код в
некотором интервале значений. В таких случаях в
команде условного ветвления нужно
сформулировать составное условие. Для этого в
языках программирования используют специальные
логические операции AND , OR, NOT (И, ИЛИ, НЕ).
Например, программе надо выполнить некоторые
действия, если значение переменной 100
< K < 200
. То есть должны быть выполнены два
простых условия: K > 100 И K < 200 . По правилам языка Лого это
записывается так:

IF AND :K > 100 :K < 200 […]

Если же необходимо, наоборот, выделить
такую ситуацию, когда значение K
не попадает в этот интервал, то команду условного
ветвления можно записать так:

IF OR :K < 100 :K > 200 […]

То есть K < 100 ИЛИ K >200 *.

В обоих примерах с помощью логической
операции из двух простых условий сформировано
составное условие. В соответствии с правилами
языка Лого логические операции OR и AND записаны перед своими
операндами (простыми условиями).

Задание

1. Напишите программу для
перекодировки текста
CP-1251–CP-866 и программу для обратной перекодировки.
Проверьте программы на вашем пробном тексте.

Для проверки правильности работы
программы используйте файловый менеджер Far. В
режиме просмотра можно менять кодировку
клавишей F8.

Используйте панель инструментов среды
ЛогоМиры для того, чтобы сделать работу с
программой удобной. Например, реализуйте
управление с помощью кнопок; поместите на листе
инструкцию-“подсказку” по работе с программой.
Предусмотрите возможность сохранить
перекодированный текст в файле. Для этого вам
понадобятся команда QUESTION ,
операция ANSWER , команда SAVETEXT .

Примеры выполнения заданий

Задачи

Предварительно на листе проекта
ЛогоМиров должно быть создано текстовое окно,
файл должен быть сохранен и в этой же папке
записан текстовый файл пробный.txt.

это подготовка

ct loadtext «пробный top

end

это пробелы

подготовка удаление

end

это удаление

if eot? [stop]

select cf copy

if clipboard = char 32 [cb delete]

удаление

end

это турецкий_акцент

подготовка акцент

end

это акцент

if eot? [stop]

select cf copy

if clipboard = «е [cb delete insert «э]

акцент

end

это подстановка :a :b

if eot? [stop]

select cf copy

if clipboard = :a [cb delete insert :b]

if clipboard = :b [cb delete insert :a]

подстановка :a :b

end

это демо_1

подготовка

подстановка «а «е

wait 30 top

подстановка «а «е

end

Процедура демо_1
демонстрирует шифрование текста методом
подстановки. Через три секунды текст
расшифровывается.

это шифровка

if eot? [stop]

select cf copy make «n ascii clipboard

if :n > 100 [cb delete insert char :n — 1]

шифровка

end

это расшифровка

if eot? [stop]

select cf copy make «n ascii clipboard

if :n > 99 [cb delete insert char :n + 1]

расшифровка

end

это демо_2

подготовка

шифровка wait 30 top расшифровка

end

Процедура демо_2
демонстрирует шифрование текста способом,
указанным в последней задаче. Через три секунды
текст расшифровывается.

Линейные диаграммы

Вывод: если в тексте, закодированном по
CP-1251, попадаются буквы с кодом от 192 до 239, то от
кода необходимо отнять 64. Тогда мы перейдем в CP-866
(это русские буквы от А до п). Для букв с кодами от
240 до 255 (р – я) для перехода из CP-1251 в CP-866 разность
в коде — 16.

Программы перекодировки

это Win-DOS

if eot? [stop]

select cf copy make «n ascii clipboard

if and :n > 191 :n < 240

[cb delete insert char :n — 64]

if and :n > 239 :n < 256

[cb delete insert char :n — 16]

Win-DOS

end

это DOS-Win

if eot? [stop]

select cf copy make «n ascii clipboard

if and :n > 127 :n < 176

[cb delete insert char :n + 64]

if and :n > 223 :n < 240

[cb delete insert char :n + 16]

DOS-Win

end

это демо_3

подготовка

Win-DOS wait 30 top DOS-Win

end

Процедура демо_3
демонстрирует перевод текста из кодировки CP-1251 в
кодировку CP-866. Затем, через три секунды,
производится обратный перевод.

Методические комментарии к практикуму

Предложенный читателям
“Информатики” практикум — часть базового курса
для 7–9-х классов. Этот вариант курса информатики
построен на нескольких принципах. Во-первых,
различные “линии” курса — программирование,
технология обработки графики, текста, теория
(например, системы счисления) и т.д. — не
разнесены по годам обучения или, скажем, по
полугодиям. А, наоборот, перемежаются и
переплетаются. Во-вторых, новый учебный материал
появляется перед учащимися в тот момент, когда
возникает практическая необходимость. То есть в
контексте некоторого задания или мини-проекта.
Например, разговор о логических операторах
заходит первый раз, когда нужно написать
программу перекодировки. И без нового средства
никак не обойтись. Это не означает, конечно, что
потом не будет обобщения и рассказа и об
Аристотеле, и о Дж. Буле. Другими словами, общий
подход в обучении информатике в данном курсе —
не от общего к частному, а наоборот. Поэтому в
основе лежит цепочка задач, заданий,
мини-проектов и практикумов.

Задания практикума “Кодирование текста”
имеют комплексный характер. Учащиеся и
программируют, и переводят числа из одной
системы счисления в другую, работают с векторным
графическим редактором, подготавливают
иллюстрации для текстового документа (отчета),
форматируют таблицы, используют язык HTML,
работают с браузером и файловым менеджером.
Переходы от одного вида деятельности к другому
не мешают осваивать достаточно сложный раздел
курса. Наоборот, такое разнообразие помогает
поддерживать интерес к работе над заданиями и к
нашему предмету.


* Более строго следовало записать K ≤ 100 ИЛИ K ≥ 200.

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

Что такое windows-1251 кодировка и какую роль играет в работе компьютера предстоит узнать.

Что это такое?

Кодировка 1251 представляет собой совокупность символов, которая составляет восьми-битную систему Windows для русифицированных устройств.

Стоит отметить, что довольное широкое применение она нашла на территории Европы.

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

Немного из истории

С наступлением 90-х годов, после распада СССР, границы России стали открыты.

Поэтому на территорию страны стало постепенно проникать оборудование из европейских стран.

Изначально все они были запрограммированы на английском языке.

В этот же промежуток времени начинает активно распространяться интернет.

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

А значит стало возможным использовать компьютеры со следующими языками:

  • Русский
  • Белорусский
  • Украинский
  • Сербский
  • Болгарский
  • Македонский.

Совместно с двумя российскими компаниями «Параграф» и «Диалог», представительства компании Microsoft начали активно заниматься разработкой данной кодировки.

В качестве основы были использованы обыкновенные самостоятельно написанные разработки.

Однако технический прогресс не стоит на месте, поэтому в последнее время широкое применение нашел Юникод UTF-8.

В него заложено порядком 90% web-ресурсов. Что касается 1251, то она используется менее, чем в 2%.

UTF-8 против 1251

Вся информация, которая хранится на компьютере, имеет кодированный вид.

Можно предположить, что символ имеет вес порядком 1 байт. 1251 – это разновидность кодировки однобайтовой, а UTF-8 – восьмибайтная.

Отсюда можно сделать вывод, что первый вариант способен к программированию 256 знаков.

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

Можно сделать вывод, что оба варианта имеют следующие отличия:

  • В верхней части необходимо указывать кодировку, которая необходима для использования. В противном случае, вместо обыкновенных символов появляются нечитаемые иероглифы. Используя UTF-8 (которая считается более универсальной кодировкой), все переводы и расшифровки осуществляются в автоматическом режиме
  • Вне зависимости от того, на территории какой страны будет загружаться страница, символика останется без изменения. Важно отметить, что местоположение в данном случае не играет абсолютно никакой роли. Главное обращать внимание на языковые серверы, используемые пользователем. Каждый человек обращается к программному обеспечению на родном языке. Для жителей Европы, 1251 будет недоступна в силу использования латиницы. Соответственно можно сделать вывод о том, что русскоязычные сайты не будут открывать в корректном формате. Что касается юникода, то он присутствует в любой ОС
  • Второй вид имеет возможность кодировки большего количества символов. На сегодняшний день стоит отметить 6 и 8 байт. Что касается кириллицы, то для ее кодировки достаточно двух байт.

В связи с выше перечисленными отличиями можно сделать вывод о том, что универсальная кодировка более актуальна для использования, чем 1251, поскольку она подойдет только для славянской группы языков.

Для профессиональных программистов и технических специалистов, знание кодировки 1251 является обязательным условием для осуществления полноценной работы.

Чтобы символы можно было запомнить быстро и просто, чаще всего используют следующую таблицу:

Инструкция по восстановлению кодировки

Ситуация, когда в командной строке присутствуют непонятные символы, вопросительные знаки или иероглифы довольна распространенная.

Однако исправить положение возможно самостоятельно, не прибегая к помощи специалистов.

Сразу стоит отметить, что это первый признак того, что в седьмом Windows слетела кодировка 1251.

С восьмой версии активно используют UTF-8.

Для того, чтобы решить задачу максимально быстро, возможно использование команды CHCP 866, но это только временная мера и в полной мере проблему она не решит.

Как правило, реестр используется для основательного решения проблемы:

  • Чтобы вызвать командную строку, нажимаем сочетание клавиш Win и R. Пишем regedit, при помощи которого открывается специальный реестр

  • Как показано на рисунке, находим соответствующую папку HKEY_CURRENT_USER далее выбираем Console. Далее смотрим какой код задан для страниц (Code Page). В том случае, если там стоит число не 866, что скорее всего так и будет, значит проблема была определена верно

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

Почему до сих пор используется 1251

Существует несколько причин, почему 1251 продолжает пользоваться большой популярностью среди разработчиков онлайн ресурсов:

  • Многие программисты php используют стандартную кодировку, поскольку OC Windows ее поддерживает в режиме по умолчанию. И хотя в последнее время разработчики стали активно внедрять UTF-8, все же 1251 пока не сдает свои активные позиции
  • Если брать для примера старую версию MySQL до четвертой, то стоит отметить, что при включении даже тестового режима, вылезало множество ошибок в UTF-8. Только после выпуска 4.1 многие «глюки» были исправлены. Существует категория программистов, которая вовсе остается верна 1251, а их последователи рьяно берут с них пример и даже не собираются использовать нечто другое
  • Поскольку один символ в системе 1251 весит меньше (один байт), то вполне логично, что возникает некая экономия в отличие от последнего варианта.

По сравнению с данной кодировкой, UTF-8 считается более оптимальным вариантом, поскольку она может распознать большее количество символов.

Существуют и другие аргументы, активно выступающие «ЗА» использование данной системы:

  • Возможно включение любых знаков из набора Юникода. Кроме того, вполне логично, что здесь поддерживается 100 000 символов против 256. Здесь можно найти от стандартных смайликов до апострофа абсолютно все. Их использование возможно в любом документе. Кроме того, их можно прочитать даже в редакторе, что исключает вероятность появления нечитабельных знаков
  • Ранее существовало мнение о том, что современный utf занимает больше места. В итоге оказалось, что символы также весят всего лишь байт. Значит, стоит сделать вывод о том, что увеличение веса странички не происходит и ее использование такое же легкое. Однако, если используется только русский алфавит, то в таком случае размер будет увеличен вдвое, поскольку изначально кириллица не включена в систему
  • Система считается одной из самых универсальных, которые уже смогли достать. В таком случае можно создавать сайты для любого населения мира. Можно уже не думать о том, какая кодировка используется, поскольку Юникод является универсальной вещью
  • UTF – это оптимальный вариант работы с php страницами.

Важно отметить, что изначально многие разработчики стали использовать 1251.

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

Кто-то считает, что универсальная utf – это неплохое решение, которое устанавливается для современных ресурсов, но 1251 – это проверенный алгоритм для стран, использующих кириллицу.

Стоит отметить, что в большинстве случаев используют автоматические переключение. Так, например, если понадобится прочитать информацию на иностранном языке или на русском, достаточно просто переключить кодировку на актуальный формат.

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

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

Источник

Кодировка windows 1251 была создана в начале 90 годов для русификации программных продуктов, выпускаемых корпорацией Microsoft:

Кодировка является 8-битной и включает в себя символы славянской группы языков, в которую входят русский, белорусский, украинский, болгарский, македонский, сербский – это дает преимущество перед остальными кириллическими кодировками (ISO 8859-5, KOI8-R, CP866). Однако у 1251-кодировки имеются и весомые недостатки:

  • Кодировка windows 1251 в html
    • Кодировка windows 1251 в PHP
    • Кодировка windows 1251 в htaccess
  • 0xFF (25510) – это код, который зарезервирован для символа «я». В программах, которые не поддерживают чистый 8-ой бит, часто возникают непредсказуемые проблемы;
  • Нет псевдографики, которая присутствует в KOI8, CP866.

Ниже приведены символы из Code Page 1251 или сокращенно СР1251 (числа под символами являются кодом в шестнадцатеричной системе такого же символа в Юникоде):

Нередко у web-разработчиков и блогеров, обладающих различной квалификацией возникает проблема с кодировкой страниц: вместо подготовленного текста появляются неизвестные, нечитаемые символы. Чтобы разобраться с данной проблемой, необходимо понимать суть термина «кодировка страницы».

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

Таблица кодировок не является универсальной, то есть, для расшифровки текста необходимо использовать ту, которая соответствует кодировке символов:

Кодировка windows 1251 в html

Для того чтобы html-документ корректно отобразился в браузере, необходимо указать используемую кодировку. Делается это следующим образом:

— между тегом <head> и закрывающим его </head> нужно прописать <meta http-equiv=»Content-Type» content=»text/html; charset=windows-1251″> — исходя из этой строки, браузер будет использовать символы русского алфавита для отображения текста на странице.

Ни для кого не является тайной, что генерация страниц проходит путем выборки и использования какой-то части информации, которая хранится в базе данных. При написании сайта на PHP, чаще всего это mysql:

Кодировка windows 1251 в PHP

Нередко при смене хостинга возникает проблема: различные кодировки информации в базе данных и в шаблонах страниц. Из-за этого одна сгенерированная страница может одновременно содержать несколько кодировок. Если информация на сайте представлена в кодировке виндовс 1251, то и чтение из базы данных должно осуществляться с помощью таблицы, в которой представлена win 1251 кодировка.

Для согласования расшифровки необходимо выполнить функцию mysql_query(«SET NAMES cp1251») – это означает, что преобразование из машинного кода будет осуществляться согласно таблице cp1251.

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

Для того чтобы для веб-ресурса была задана кодировка виндовс-1251, необходимо найти (или создать) файл .htaccess. Это файл, который хранит в себе дополнительные настройки и описания конфигураций web-сервера.

В нем для установки кодировки следует прописать следующие строки:

  • DefaultLanguage ru;
  • AddDefaultCharset windows-1251;
  • php_value default_charset «cp1251».

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

Понравилась статья? Поделить с друзьями:
  • Как закодировать папку на компьютере windows 10 не архивируя
  • Как закачать видео на ipad с windows
  • Как закодировать вход в компьютер windows 10
  • Как закрепить окно поверх других windows 10 без программ
  • Как закачать windows 10 с флешки