logo
Модуль 03 Віконні застосування / Лекційний матемріал / Частина 1

3.8. Символьні типи даних

Будь-яка програма повинна працювати, в загальному випадку, не лише з числами, але і з текстами. З самого початку існування комп'ютерів перед людиною стояло завдання - розробити мову спілкування з комп'ютером. Цією мовою є таблиці кодування символів тексту. Тут мається на увазі узагальнене поняття слова "Текст": в текст можуть входити символи різних національних алфавітів, інші (допоміжні) символи, потрібні при обробці тексту, символи музики, математики і т. п.

Кодування - ця відповідність символів машинним кодам. Перші таблиці кодування забезпечували кодування 128-ми символів. Одначе згодом виявилось, що цього недостатньо. З'явилися таблиці, що забезпечують кодування 256 символів (зверніть увагу, що 128 - це півбайта, а 256 - цілий байт). Ось, наприклад, широко відома таблиця перекодування ASCII (абревіатура організації, що затвердила цю таблицю для загального користування) забезпечує кодування якраз 256 символів. У ній кожен символ займає один байт. Кожен символ алфавіту пронумерований і має свій двійковий код. Коди змінюються в межах від 00000000 до 11111111. Стандартних символів в такому алфавіті 128, інші - це додаткові символи і символи національних алфавітів. У першій таблиці ASCII було всього 128 символів, і призначалася вона зовсім не для комп’ютерів, а для телетайпу. Але фірма IBM, створюючи комп'ютер, вирішила скористатися цією таблицею кодування. А коли комп'ютери стали поширюватися по світу, то 128-ми символів стало не вистачати, і стали вводити національні таблиці для різних країн і мов. Але в кожній справі має бути порядок. А вийшло, що таблиць настворювали стільки, що їх стало більше, ніж країн і мов. Наприклад, тільки для однієї кирилиці існує декілька варіантів таблиць. Все це ускладнило і без того непросту ситуацію, і навіть зараз не всі сучасні програми добре розпізнають кодування, і замість тексту ми, іноді, бачимо набір незрозумілих символів.

Далеко ходити не потрібно: візьміть хоч би поштову програму The Bat! і подивіться, скільки там варіантів таблиць, які перекодовують текст. З часом людство усвідомлювало, що існуючих кодувань не вистачає. Наприклад, символи китайської мови не уміщалися в стандартне 8-бітове (однобайтове) кодування. Вирішено було зробити таблицю, в якій під код виділявся б не один, як раніше, а два байти (16 біт). Така таблиця була створена і назвали її Unicode. Символи Unicode використовують 16 біт, тому в таблиці можна розмістити 65 536 символів. Цього числа кодів вистачає доки для кодування всього, що потрібно кодувати сьогодні, щоб обробляти на комп’ютері. За даними Інтернету нині використовується близько 49 тис. символів для кодування.

C# розглядає текст в двох видах: як окремі символи і як рядки символів. Окремі символи позначаються типом char, рядки - типом string. Зауважимо, що імена типів тут, як і імена типів для числових і логічних даних - це спеціальні системні ключові слова. Насправді, як ми побачимо пізніше, типи - це класи зі своїми іменами. Ключові слова введені в мову для спрощення поводження з ними.