Вікіпедія кодування текстової інформації

Кодування текстової інформації

З точки зору ЕОМ текст складається з окремих символів. До числа символів належать не тільки букви (заголовні або рядкові, латинські або російські), але і цифри, розділові знаки, спеціальні символи типу «=», «(«, «» і т.п. і навіть (зверніть особливу увагу!) Прогалини між словами. Так, не дивуйтеся: порожнє місце в тексті теж повинна мати своє позначення.

Згадаймо деякі відомі нам факти:

Безліч символів, за допомогою яких записується текст, називається алфавітом.

Число символів в алфавіті — це його потужність.

Формула визначення кількості інформації: N = 2 b ,

де N — потужність алфавіту (кількість символів),

b — кількість біт (інформаційний вагу символу).

В алфавіт потужністю 256 символів можна помістити практично всі необхідні символи. Такий алфавіт називається достатнім.

Оскільки 256 = 2 8, то вага 1 символу — 8 біт.

Одиниці виміру 8 біт присвоїли назву 1 байт:

Двійковий код кожного символу в комп’ютерному тексті займає 1 байт пам’яті.

Яким же чином текстова інформація представлена ​​в пам’яті комп’ютера?

Тексти вводяться в пам’ять комп’ютера за допомогою клавіатури. На клавішах написані звичні нам букви, цифри, знаки пунктуації та інші символи. В оперативну пам’ять вони потрапляють в двійковому коді. Це означає, що кожен символ представляється 8-розрядних двійковим кодом.

Кодування полягає в тому, що кожному символу ставиться у відповідність унікальний десятковий код від 0 до 255 або відповідний йому двійковий код від 00000000 до 11111111. Таким чином, людина розрізняє символи за їх зображенню, а комп’ютер — по їх коду.

Зручність побайтового кодування символів очевидно, оскільки байт — найменша адресується частина пам’яті і, отже, процесор може звернутися до кожного символу окремо, виконуючи обробку тексту. З іншого боку, 256 символів — це цілком достатня кількість для подання найрізноманітнішої символьної інформації.

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

Зрозуміло, що це справа умовне, можна придумати безліч способів кодування.

Всі символи комп’ютерного алфавіту пронумеровані від 0 до 255. Кожному номеру відповідає восьмизарядний двійкового коду від 00000000 до 11111111. Цей код просто порядковий номер символу в двійковій системі числення.

Таблиця, в якій всім символам комп’ютерного алфавіту поставлені у відповідність порядкові номери, називається таблицею кодування.

Для різних типів ЕОМ використовуються різні таблиці кодування.

Міжнародним стандартом для ПК стала таблиця ASCII (Читається аски) (Американський стандартний код для інформаційного обміну).

Таблиця кодів ASCII ділиться на дві частини.

Міжнародним стандартом є лише перша половина таблиці, тобто символи з номерами від 0 (00000000), до 127 (01111111).

Структура таблиці кодування ASCII


символ


00000000 — 00011111

Символи з номерами від 0 до 31 прийнято називати керуючими.

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

00100000 — 01111111

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

Символ 32 — пробіл, тобто порожня позиція в тексті.

Всі інші відображаються певними знаками.

10000000 — 11111111

Альтернативна частина таблиці (російська).

Друга половина кодової таблиці ASCII, звана кодовою сторінкою (128 кодів, починаючи з 10000000 і закінчуючи 11111111), може мати різні варіанти, кожен варіант має свій номер.

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

Перша половина таблиці кодів ASCII

Звертаю вашу увагу на те, що в таблиці кодування букви (великі та малі) розташовуються в алфавітному порядку, а цифри впорядковані за зростанням значень. Таке дотримання лексикографічного порядку в розташуванні символів називається принципом послідовного кодування алфавіту.

Для букв російського алфавіту також дотримується принцип послідовного кодування.

Друга половина таблиці кодів ASCII

На жаль, в даний час існують п’ять різних кодувань кирилиці (КОІ8-Р, Windows. MS-DOS, Macintosh і ISO). Через це часто виникають проблеми з перенесенням російського тексту з одного комп’ютера на інший, з однієї програмної системи в іншу.

Хронологічно одним з перших стандартів кодування російських букв на комп’ютерах був КОІ8 ( «Код обміну інформацією, 8-бітний»). Це кодування застосовувалася ще в 70-ті роки на комп’ютерах серії ЄС ЕОМ, а з середини 80-х стала використовуватися в перших русифікованих версіях операційної системи UNIX.

Від початку 90-х років, часу панування операційної системи MS DOS, залишається кодування CP866 ( «CP» означає «Code Page», «кодова сторінка»).

Комп’ютери фірми Apple, що працюють під управлінням операційної системи Mac OS, використовують свою власну систему кодування Mac.

Крім того, Міжнародна організація по стандартизації (International Standards Organization, ISO) затвердила в якості стандарту для російської мови ще одне кодування під назвою ISO 8859-5.

Найбільш поширеною в даний час є кодування Microsoft Windows, що позначається скороченням CP1251.

З кінця 90-х років проблема стандартизації символьного кодування вирішується введенням нового міжнародного стандарту, який називається Unicode. Це 16-розрядна кодування, тобто в ній на кожен символ відводиться 2 байти пам’яті. Звичайно, при цьому обсяг займаної пам’яті збільшується в 2 рази. Але зате така кодова таблиця допускає включення до 65536 символів. Повна специфікація стандарту Unicode включає в себе всі існуючі, вимерлі і штучно створені алфавіти світу, а також безліч математичних, музичних, хімічних та інших символів.

Спробуємо за допомогою таблиці ASCII уявити, як будуть виглядати слова в пам’яті комп’ютера.


Внутрішнє представлення слів в пам’яті комп’ютера


пам’ять


01101001


01100101


01101001


01101011

Іноді буває так, що текст, що складається з букв російського алфавіту, отриманий з іншого комп’ютера, неможливо прочитати — на екрані монітора видно якась «абракадабра». Це відбувається тому, що на комп’ютерах застосовується різна кодування символів російської мови.

Вікіпедія кодування текстової інформації

1.4. Кодування текстової інформації

Текстову інформацію кодують двійковим кодом через позначення кожного символу алфавіту певним цілим числом. За допомогою восьми двійкових розрядів можливо закодувати 256 різних символів. Даної кількості символів досить для вираження всіх символів англійського і російського алфавітів.

У перші роки розвитку комп’ютерної техніки труднощі кодування текстової інформації були викликані відсутністю необхідних стандартів кодування. В даний час, навпаки, існуючі труднощі пов’язані з безліччю одночасно діючих і часто суперечливих стандартів.

Для англійської мови, який є неофіційним міжнародним засобом спілкування, ці труднощі були вирішені. Інститут стандартизації США виробив і ввів в обіг систему кодування ASCII (American Standard Code for Information Interchange — стандартний код інформаційного обміну США).

Для кодування російського алфавіту були розроблені кілька варіантів кодувань:

1) Windows-1251 — введена компанією Microsoft; з урахуванням широкого поширення операційних систем (ОС) та інших програмних продуктів цієї компанії в Російській Федерації вона знайшла широке поширення;

2) ЯКІ-8 (Код Обміну Інформацією, восьмизначний) — інша популярна кодування російського алфавіту, поширена в комп’ютерних мережах на території Російської Федерації і в російському секторі Інтернет;

3) ISO (International Standard Organization — Міжнародний інститут стандартизації) — міжнародний стандарт кодування символів російської мови. На практиці це кодування використовується рідко.

Обмежений набір кодів (256) створює труднощі для розробників єдиної системи кодування текстової інформації. Внаслідок цього було запропоновано кодувати символи не 8-розрядними двійковими числами, а числами з великим розрядом, що викликало розширення діапазону можливих значень кодів. Система 16-розрядної кодування символів називається універсальної — UNICODE. Шістнадцять розрядів дозволяє забезпечити унікальні коди для 65 536 символів, що цілком достатньо для розміщення в одній таблиці символів більшості мов.

Незважаючи на простоту запропонованого підходу, практичний перехід на дану систему кодування дуже довго не міг здійснитися через недоліки ресурсів засобів обчислювальної техніки, так як під час передачі сигналу UNICODE всі текстові документи стають автоматично вдвічі більше. В кінці 1990-х рр. технічні засоби досягли необхідного рівня, почався поступовий переклад документів і програмних засобів на систему кодування UNICODE.

Напишите нам
Напишите нам




Меню