Как поменять кодировку (encoding) в текстовом редакторе?
Дата создания: 2012-05-07 07:11:41
Последний раз редактировалось: 2012-05-07 07:13:51
Я давно искал, в какой урок засунуть данный материал. В итоге решил немного расширить его и положить в отдельную статью.
Итак, сегодня мы научимся менять кодировку (encoding) в двух текстовых редакторах: стандартный блокнот (notepad) и Notepad++
Но сначала пару слов о текстовых файлах.
Текстовые файлы
Существует два вида текстовых файлов: простые текстовые файлы и текстовые файлы, содержащие информацию о форматировании (так называемый Rich Text Format).
Мы будем работать только с простыми текстовыми файлами.
Кодировка файлов
Все текстовые файлы имеют какую-то кодировку. Основных две: ANSI и Юникод. В ANSI кодировках (а их много) может быть закодировано только 256 символов. Если у вас русифицированная Windows, то блокнот создаёт текстовые документы в кодировке Windows-1251 - это одна из кодировок ANSI. Какая кодировка ANSI используется, зависит от языка операционной системы.
Юникод может содержать гораздо больше символов - примерно 65 тысяч, поэтому в Юникоде закодированы все письменности. Тем не менее, существует несколько вариантов юникода. Unicode LE используется в Windows, UTF-8 - распространён в интернете.
BOM (Byte Order Mark) - метка порядка байтов
Для различия различных версий юникода, в начале текстового файла может ставиться специальная метка - которая и говорит, в какой версии юникода закодирован текст файла.
Метка состоит из 2-4 байтов.
Использование BOM необязательно, а в некоторых случаях и нежелательно - особенно, если речь идёт о файлах с исходным кодом.
Ну а теперь, посмотрим, как менять кодировку в текстовых редакторах:
Смена кодировки файлов в блокноте (notepad)
В стандартном текстовом редакторе кодировку можно поменять только при сохранении файла.
Для этого используется пункт меню Файл -> Сохранить как...
В открывшемся диалоговом окне внизу можно выбрать нужную кодировку. Причём вариантов всего четыре:
ANSI - одна из кодировок ANSI (зависит от текущего языка ОС), Unicode - Little-Endian версия Юникода, которая используется в Windows. Unicode BE - Big-Endian версия Юникода (используется в (*NIX ОС), UTF-8 - Юникод для хранения файлов в интернете.
Как поменять кодировку в Notepad++
В Notepad++ есть возможность сохранить текст в UTF-8 без BOM метки. А также можно сохранить файл в различных версиях ANSI (пункт меню Кодировки -> Кодировки).
Заключение
Зачем нам знать, как менять кодировку в текстовых редакторах? IDE Visual C++ сама выбирает кодировку. Если вы откроете любой файл с исходным кодом (.cpp или .h) в простом текстовом редакторе, то увидите, что кодировка этого файла - ANSI.
В программах на ассемблере мы тоже будем использовать ANSI - этого требует компилятор. А вот когда будем разбирать скриптовые языки, то файлы с исходниками можно будет сохранять в UTF-8.