Как работают кодировки текста. откуда появляются «кракозябры». принципы кодирования. обобщение и детальный разбор
Содержание:
- Параметры PostScript и Encapsulated PostScript (EPS)
- Как исправить отображение кириллической кодировки в Windows
- Создание текста с нужной кодировкой
- Кодировка в Word
- Послесловие
- [править] Другие искажения, связанные с перекодировкой
- Основные отличия кодировок
- [править] Перекодировка
- Кодировка в Блокноте
- История появления кодировки.
Параметры PostScript и Encapsulated PostScript (EPS)
Возможен экспорт файлов PDF в PostScript для использования в приложениях печати и допечатной подготовки. Файл PostScript включает все комментарии DSC ( Document Structuring Conventions ) и другую дополнительную информацию, сохраняемую программой Adobe Acrobat Distiller . Из любого файла PDF можно также создать файл EPS, который можно будет использовать вместо файла PDF или открывать в других приложениях. Набор доступных параметров зависит от того, преобразуется ли документ в PostScript или EPS.
При создании файлов EPS для цветоделения в программе Acrobat Pro DC все изображения должны находиться в цветовом пространстве CMYK.
Файл описания принтера
Файл описания принтера (PPD) предоставляет сведения, необходимые для правильного форматирования файла PostScript при выводе на определенное выводное устройство. Аппаратно-независимый – создает только совмещенные (не цветоделенные) файлы PostScript или EPS. Acrobat по умолчанию – предоставляет исходную точку и ссылку для создания всех типов файлов PostScript и восстанавливает для преобразования все параметры по умолчанию. Формат Adobe PDF 7.0 совместим с большинством устройств. Этот параметр доступен только для формата PostScript.
ASCII или двоичный
Определяет выходной формат данных изображений. Двоичный формат обеспечивает меньший размер файлов, но его можно использовать не во всех рабочих процессах.
Определяет уровень совместимости с языком PostScript. Следует использовать Level 3 только в том случае, если устройство вывода обеспечивает его поддержку. Level 2 подходит для файлов EPS, предназначенных для размещения в других документах, цветоделение которых выполняется в составе этого документа. Используйте Level 2 для файлов EPS, импортируемых в приложения Майкрософт.
Определяет шрифты, которые будут включены в PostScript. Встроенные шрифты берутся из PDF, все прочие — из системы используемого компьютера.
Сохраняет оформление комментариев в конечном файле PostScript.
Преобразовать шрифты TrueType в Type 1
Преобразует шрифты TrueType в Type 1 в конечном файле PostScript.
Определяет создание файла просмотра TIFF для конечного файла EPS. Этот параметр недоступен в случае сохранения файла в формате PostScript.
Задает страницы для экспорта. При экспорте страниц в EPS каждая страница в диапазоне сохраняется в отдельном файле EPS.
Как исправить отображение кириллической кодировки в Windows
Добрый день. Недавно я написал статью о том, как установить новую версию операционной системы от Microsoft (установка Windows 10 Technical Preview). Еще в той статье я предупреждал, что могут быть проблемы при работе в тестовой версии системы. Как уже выяснилось, у некоторых не устанавливаются программы, в том числе антивирусы (к счастью здесь тоже присутствует встроенный Microsoft Security Essential).
Но на днях, мой товарищ подсказал что есть еще одна проблема. Так как это наша локальная проблема, ее могут не исправить в ближайшее время. Заключается она в том, что при попытке открытия текстового файла с кодировкой Windows-1251 вместо русских символов на экран выводится всякие иероглифы.
Как оказалось, эта проблема появилась задолго до выхода Windows 10 и была во всех предшествующих ОС, но не у каждого проявлялась. К счастью, мне сразу подсказали пару решений и я с удовольствием поделюсь ими с вами. Сразу скажу, что второй проще.
Создание текста с нужной кодировкой
Иногда возникает необходимость создания текстового файла в другой системе кодов. Например, для графического редактора PDF программы Works-6 или других программных продуктов. Редактор Word поможет Вам решить эту проблему. Нужно набрать текст так, как делаете обычно, соблюдая необходимую структуру и требования к набираемой информации.
После создания файла, в главном меню редактора заходим в ФАЙЛ, а далее выбираем СОХРАНИТЬ КАК. В выпадающем окне, кроме возможности определить будущее название файла, будут представлены варианты кодировки файла после сохранения.
Для предотвращения потери информации рекомендовано сохранить файл в обычном формате, а уже потом записать в требуемом.
Нужно учитывать, что существуют программы, которые не поддерживают переноса слов или строк текста. Поэтому, в данном случае, необходимо писать текст, избегая таких переносов.
Еще одна особенность при возникновении трудностей читаемости текста. Это небольшое отличие 2003 версии Worda от версий более поздних. Появился новый формат текстовых файлов – docx. Его отличие не носит вопрос кодировки, в том смысле, в котором мы его сейчас рассматриваем. И информацию такого рода на старой версии не просмотреть, необходимо обновление редактора.
Инструкция
Если у вас нет программы Word, то скачайте ее с официального сайта разработчиков и установите на свой компьютер. Если вы не собираетесь постоянно использовать эту программу, то платить за нее не нужно, вам хватит пробной версии.
Нажмите на нужный файл правой клавишей мышки и откройте подменю «Открыть с помощью», укажите программу Word. Если данной программы нет в списке, то запустите Word обычным способом. Откройте меню «Файл» и выберите команду «Открыть», укажите расположение нужного документа на жестком диске и нажмите «Открыть». Будет предложено несколько вариантов открытия файла, связанных с его нестандартной кодировкой, укажите нужный и нажмите команду ОК. Подбор кодировки
Далее нужно изменить кодировку и сохранить результат, для этого откройте меню «Файл» и нажмите пункт «Сохранить как». Укажите директорию для измененного документа, впишите новое имя и выполните команду «Сохранить». Загрузится окно атрибутов документа, выберите нужную кодировку и нажмите Enter (наиболее используемой кодировкой является «Юникод»).
Внимательно отнеситесь к сохранению документа, если вы попытаетесь сохранить файл в прежнюю папку с прежним названием, то новый документ заменит собой старый файл
Чтобы сохранить на диске два разных документа, нужно использовать для них разные названия или папки.
При сохранении файла также обратите внимание на его расширение. Если документ в дальнейшем будет открываться с помощью программы Word 2003 года выпуска и более старшими версиями, то используйте формат doc
Если документ нужен для программы 2007 года и более новых версий, то подойдет формат docx. Также стоит помнить, что формат doc открывается как на старых версиях программы, так и на новых, но у них ограниченное форматирование. Стоит понимать, что отображение текстового документа не стандартными символами – это не только признак неизвестной кодировки, возможно в используемом редакторе нет нужного шрифта, в таком случае нужно менять не кодировку, а шрифт.
Это интересно: Что такое ошибка хеша в торренте — разновидности проблем с хешем, как выявить и исправить ошибки
Кодировка в Word
С кодировкой в Word немного сложнее. Дело в том, что тут добавляется еще проблема совместимости версии самого Word и в целом офисного пакета. С выходом новой версии пакета Office 2007 появились и новые четырехбуквенные форматы файлов. Раньше они были трехбуквенными.
Например, для предыдущих версий Word формат был .doc, а для новых – .docx. Причем в новых версиях свободно поддерживается и старый формат .doc, а вот в старых версиях, новый формат .docx, как раз и может вызвать проблему с кодировкой.
Здесь рекомендация – обновите ваш офисный пакет MS Office старше версии 2007.
Если простого обновления программы оказалось недостаточно и у вас все равно кракозябры в Word, то и здесь придется попытаться изменить кодировку вручную (хотя Word должен делать это автоматически).
В момент открытия файла, у вас откроется окно «Преобразование файла», где в верхней его части нужно выбрать пункты либо «MS-DOS», либо «Другая» и в правом раскрывающемся выбрать необходимую кодировку. Тут придется перепробовать все варианты.
Послесловие
Сегодня мы познакомились с таким понятием, как кодировка текста. Уверен, теперь при возникновении каракулей на мониторе компьютера Вы не спасуете, а вспомните все приведенные здесь методы и решите вопрос в свою пользу!
На сим все, спасибо за внимание и до новых встреч. P.S
Комментарии, как и всегда, ждут Ваших горячих дискуссий и вопросов, так что отписываем.P.P.S: За существование данной статьи спасибо члену команды 25 КАДР
P.S. Комментарии, как и всегда, ждут Ваших горячих дискуссий и вопросов, так что отписываем.P.P.S: За существование данной статьи спасибо члену команды 25 КАДР
[править] Другие искажения, связанные с перекодировкой
Нередко бывает, что перекодировка осуществляется в правильном направлении, но сам перекодировщик работает не совсем корректно. Например, некоторые программы-перекодировщики преобразуют только базовые русские буквы, а все остальные символы оставляют на месте. В итоге при перекодировке KOI8-R → Windows-1251 буква ё превращается в Ј (сербская буква), значок градуса (°) превращается в њ и т. д. (такие тексты в изобилии встречаются в Интернете, достаточно поискать слова «всЈ» или «њС»).
Другой вариант искажений связан с тем, что в целевой кодировке могут отсутствовать символы, имеющиеся в исходной кодировке. В этом случае отсутствующие символы могут просто выбрасываться, заменяться на символ-заменитель (часто знак вопроса — ?, иногда �) или же заменяться на похожие символы из ASCII (например, знак минуса (, −) может заменяться на простой дефис (, -), буква š может заменяться на s и т. д. В случае простого текста такие потери информации неизбежны, однако, если преобразованию подвергается файл HTML или XML, то корректным преобразованием будет замена отсутствующих в целевой кодировке символов на соответствующие мнемоники HTML: например, знак минуса должен заменяться на или буква š должна заменяться на или и т. д.
Основные отличия кодировок
Base64
Позволяет кодировать информацию, представленную набором байтов, используя всего 64 символа: A-Z, a-z, 0-9, /, +. В конце кодированной последовательности может содержаться несколько спецсимволов (обычно “=”).
-
Преимущества:
Позволяет представить последовательность любых байтов в печатных символах.
В сравнении с другими Base-кодировками дает результат, который составляет только 133.(3)% от длины исходных данных. -
Недостатки:
Регистрозависимая кодировка.
Base32
Использует только 32 символа: A-Z (или a-z), 2-7. Может содержать в конце кодированной последовательности несколько спецсимволов (по аналогии с base64).
-
Преимущества:
Последовательность любых байтов переводит в печатные символы.
Регистронезависимая кодировка.
Не используются цифры, слишком похожие на буквы (например, 0 похож на О, 1 на l). -
Недостатки:
Кодированные данные составляют 160% от исходных.
[править] Перекодировка
Для восстановления текста (и для перекодировки) в POSIX-совместимых системах можно использовать утилиту iconv, например: <syntaxhighlight lang=»bash»> iconv -c -f cp1251 -t cp1252 source.txt > target.txt </syntaxhighlight> Если возможности применить iconv нет, следует открыть текстовый файл с неизвестной кодировкой с помощью любого популярного браузера, в котором доступно ручное указание кодировки (обычно: Вид — кодировка — … в верхнем меню, либо в контекстном меню). Позже, когда методом перебора удастся получить читаемый текст, его можно скопировать в текстовой редактор и сохранить в нужной кодировке. Также существует множество утилит, позволяющих ручное (с выбором пары кодировок) или автоматическое (вплоть до нескольких уровней глубины) перекодирование текста, например, для Windows: TotalRecode или «Штирлиц».
Перекодировка с целью восстановления исходного текста не всегда возможна. Например, уже при двукратной перекодировке, произошедшей, к примеру, при передаче сообщения через несколько неверно настроенных почтовых серверов, может произойти необратимая потеря информации, так как определённые различные символы исходного текста при определённых условиях могут замениться на другие, но одинаковые неправильные символы, и восстановить такое сообщение невозможно, даже если знать, какие перекодировки и в каком порядке были произведены.
Кодировка в Блокноте
Чаще всего в txt-файлах связаны с тем, что сам документ изначально сохранен не в той кодировке, которая установлена в вашем Блокноте. Поэтому вместо одних символов будут подставлены другие. Отсюда вывод – сменить кодировку.
В стандартном Блокноте возможность смены кодировок не вынесена на Панель управления программы. Кодировку можно будет изменить если заново пересохранить файл.
Делается просто. Жмем «Файл» — «Сохранить как» и уже в поле Кодировка выбираем подходящий вариант.
Как видим, в стандартном Блокноте выбор не велик и может так получиться что ни одна из предложенных кодировок не подходит для вашего случая. Поэтому стоит воспользоваться более продвинутым Блокнотом. И самым ярким представителем станет программа Notepade++.
Это очень удобный инструмент и для рядового пользователя, и для вебмастера. Я, например, пользуюсь только им, когда мне нужно отредактировать какие-то файлы Компьютерликбеза.
Открываем файл с кракозябрами с помощью Notepad++. Выделяем закодированный текст и жмем на меню Кодировка.
Здесь нам представляется гораздо больший выбор кодировок, одна из которых точно должна подойти и для вашего случая.
Ссылка на официальный сайт.
История появления кодировки.
Кодировка base берет свое начало еще с тех времен, когда не было определено сколько бит должно содержаться в одном байте. Сейчас всем известно, что в одном байте содержится 8 бит и с помощью него можно закодировать 256 различных значений, но так было не всегда.
Раньше были популярны кодировки, содержащие 6, 7 или 8 бит в байте. Таким образом, 6 бит позвояло закодировать в одном байте 64 различных значения, а 7-ми битная кодировка 128 значений. Казалось бы, что этого достаточно для того, чтобы закодировать буквенно-цифровой алфавит. Но вскоре была принята кодировка, содержащая 8 бит в одном байте.
Такая кодировка привнесла много проблем. В первую очередь, эти проблемы были связаны с оборудованием, которое уже работало на других кодировках, где байт содержал 6 или 7 бит. Но помимо этого была проблема обрезания 8-го бита в системах электронной почты, т.к. весь сфот был заточен под 7-ми или 6-ти битную кодировку. Как пример, 7-ми битная кодировка могла спокойно обнулить каждый 8-ой бит, что приводило к потери данных.
Тут на помощь пришел base 64.
Идея base64 проста — обратимое кодирование, с возможностью восстановления, которое переводит все символы восьмибитной кодовой таблицы в символы, гарантированно сохраняющиеся при передаче данных в любых сетях и между любыми устройствами.
В основе алгоритма лежит сведение трех восьмерок битов (24) к четырем шестеркам (тоже 24) и представление этих шестерок в виде символов ASCII. Таким образом получается обратимое шифрование, единственным недостатком которого будет увеличивающийся при кодировании размер — в соотношении 4:3.
Ниже приведена схема смещения битов в base 64
Пример:
Возьмем русский текст «АБВГД». В двоичной форме в кодировке Windows-1251 мы получим 5 байтов:
11000000
11000001
11000010
11000011
11000100
(00000000) — лишний нулевой байт нужен, чтобы общее число бит делилось на 6
Разделим эти биты на группы по 6:
110000
001100
000111
000010
110000
111100
010000
000000
Берем массив символов «ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/» и получившиеся числа переводим в эти символы, используя их, как индексы массива, получаем «wMHCw8Q». Остается только добавить в конце один символ «=», как указание на один лишний нулевой байт, который мы добавляли на первом шаге и получить окончательный результат:
«АБВГД»: base64 = «wMHCw8Q=»
Возможно и обратное преобразование.