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

Сучасні ЕОМ обробляють не тільки числову, а й текстову, іншими словами - алфавітно-цифрову інформацію, що містить цифри, букви, знаки пунктуації, математичні та інші символи. Такий характер мають економічна, планово-виробнича, облікова інформація, а також тексти програм на алгоритмічних мовах та ін. Для подання такої інформації потрібні слова змінної довжини.

Сукупність усіх символів, які використовуються в обчислювальній системі, є її алфавіт. Застосовуються різні види кодування символів, що використовують коди різної довжини.

Ділова інформація в середньому містить майже вдвічі більше цифр, ніж букв. Тому поряд із загальною системою кодування алфавітно-цифрових символів (десяткові цифри, букви і інші знаки) в ЕОМ зберігають також окрему систему кодування для даних, що складаються тільки з десяткових цифр.

Найбільшого поширення набуло уявлення алфавітно-цифрової інформації за допомогою 8-розрядних складів, званих байтами. За допомогою байта можна кодувати 256 різних символів (ASCII-код). Комп'ютери можуть обробляти інформацію, подану в числової формі. Введені літери кодуються певними числами, а при виведенні їх для читання (на екран, принтер і т.п.) по кожному числу (коду символу) будується зображення символу.

Заснована на 16-розрядному (двухбайтное) кодуванні символів система отримала назву універсальної - UNICODE. Шістнадцять розрядів дозволяють забезпечити унікальні коди для 65536 різних символів - цього поля досить для розміщення в одній таблиці символів більшості мов планети.

Для подання алфавітно-цифрових символів в пам'яті ЕОМ і на носіях інформації у великих ЕОМ і в деяких інших машинах використовується двійковий код для обробки інформації (ДКОИ), а в мікропроцесорах, ПК і мікро-ЕОМ - розширений за рахунок букв російського алфавіту код ASCII. У комп'ютерних мережах на території Росії і в російському секторі Інтернету широкого поширення набула кодування КОИ-8 (код обміну інформацією, восьмизначний). Інша кодування символів російської мови Windows-1251 була введена компанією Microsoft, вона використовується на ряді локальних комп'ютерів, що працюють в середовищі Windows.

Алфавітно-цифрова інформація може надаватися словами змінної довжини, що містять необхідну кількість байт-символів (зазвичай від 1 до 256 байт).

Для спрощення автоматизації обробки даних застосовують ваговій принцип кодування символів. Двійкове число, що відповідає коду символу, називається його вагою. При ваговому кодуванні ваги кодів цифр послідовно зростають, а ваги кодів букв збільшуються в алфавітному порядку. Вага коду літери B на 1 більше ваги коду літери А і т.д.

Якщо необхідно розташувати список прізвищ в алфавітному порядку, то при ваговому принципі кодування ця операція може бути виконана ЕОМ шляхом порівняння двійкових чисел, відповідних кодовою зображенням прізвищ.

Для економії ємності пам'яті і для зручності виконання арифметичних операцій над десятковими числами в машинах з байтовим поданням інформації передбачаються спеціальні формати для десяткових чисел:

2) ущільнений ( "упакований")

Десяткові цифри 0, 1, 2. 9 представляються в двійковій-десяткового формі - коді 8421, в якому десяткова цифра зображується відповідним 4-розрядних двійковим числом. Чи не використовувані при цьому комбінації 4-розрядних кодів (1010 - 1111) служать для кодування знаків і службових символів.

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

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

Молодший байт в цьому форматі складається з кодів знака та молодшої десяткової цифри числа.

У ДКОИ прийнято кодувати: плюс - 1100, мінус - 1101 і зона - 1111.

Число - 6.285 в зонному десятковому форматі має вигляд

11110110 11110010 11111000 1101 0101

Інформація при цьому про місце розташування десяткової коми (крапки) фіксується в самій програмі завдання.

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

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

Число - 6285 в упакованому десятковому форматі має вигляд

0000 0110 0010 1000 0101 1101

Упакований формат використовується при виконанні операцій над десятковими цифрами. Результат виходить також в цьому форматі. Числа, які беруть участь в операції, можуть мати неоднакову довжину. Вони розглядаються як цілі числа, вирівняні по молодшим розрядам. Формат з зоною використовується при операціях введення-виведення десяткових даних.

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

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

Схожі статті