1 of 8

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

Манько Надія Миколаївна,

Яворівський ЗЗСО І-ІІІ ступенів №2

2 of 8

Алфавіти систем числення

3 of 8

4 of 8

(2**3)*(2**3)*(2**3)=256*256*256

5 of 8

RGB - коди

Приклад

Air Force blue

#5D8AA8

93

138

168

45

18

0

34

204

45

66

Alice blue

#F0F8FF

240

248

255

6

2

1

0

208

6

100

Alizarin Crimson

#E32636

227

38

54

1

92

82

0

355

83

89

Amaranth

#E52B50

229

43

80

10

73

58

10

348

81

90

Amaranth Pink

#F19CBB

241

156

187

0

35

22

2

338

35

95

Amber

#FFBF00

255

191

0

0

25

100

0

45

100

100

Amber (SAE/ECE)

#FF7E00

255

126

0

0

51

100

0

30

100

100

Amethyst

#9966CC

153

102

204

25

50

0

20

270

50

80

Android Green

#A4C639

164

198

57

17

0

71

22

74

71

78

Apricot

#FBCEB1

251

206

177

0

18

30

16

24

30

98

Aqua

#00FFFF

0

255

255

100

0

0

0

180

100

100

6 of 8

Система АSCII - 256 символів

7 of 8

Система UNICODE

UTF-32 (англ. Unicode Transformation Format — формат перетворення Юнікода) — один із способів кодування символів із Unicode у вигляді 32-бітових послідовностей. 1 символ = 32 біти.

UTF-16 — один із способів кодування символів із Unicode у вигляді 16-бітних послідовностей.

UTF-8 — поширене сьогодні кодування, що реалізовує представлення Юнікода, сумісне з 8-бітовим кодуванням тексту, у форматі UTF-8 символи латинського алфавіту, розділові знаки і керуючі символи ASCII, записуються ASCII-кодами, а решта всіх символів кодується за допомогою октетів (послідовності завдовжки 8 бітів) зі старшим бітом 1. У результаті, навіть якщо програма не розпізнає Юнікод, то латинські букви, арабські цифри і розділові знаки зображатимуться правильно.

8 of 8

Система UNICODE

UTF-32 (англ. Unicode Transformation Format — формат перетворення Юнікода) — один із способів кодування символів із Unicode у вигляді 32-бітових послідовностей. 1 символ = 32 біти.

UTF-16 — один із способів кодування символів із Unicode у вигляді 16-бітних послідовностей. Символи з кодами менше 0x10000 (216) представляються як є (одна 16-бітова послідовність), а символи з кодами 0x10000–0x10FFFE — у вигляді двох 16-бітових послідовностей (так звана «сурогатна» пара), перша з яких лежить в діапазоні 0xD800–0xDBFF, а друга — 0xDC00–0xDFFF. Легко бачити, що існує 210 * 210 = 220 таких комбінацій. А загальна кількість можливих символів 220 + 216 = 1 114 112. Слід зазначити, що за стандартом ніякі символи не можуть мати кодів власне з діапазону 0xD800-0xDFFF, так що розшифровка кодування завжди однозначна. Втім, в переважній більшості випадків текст в UTF-16 є просто послідовністю символів з UCS-2, оскільки символи Unicode після коду 0x10000 використовуються вкрай рідко.

UTF-16LE та UTF-16BE — у потоці даних UTF-16 старший байт може записуватися або перед молодшим (UTF-16 Big Endian або UTF-16BE), або після молодшого (UTF-16 Little Endian або UTF-16LE). Іноді кодування Юнікода Big Endian (UTF-16BE) називають Юнікодом із зворотним порядком байтів. Аналогічно існує два варіанти 32-бітового кодування: UTF-32LE та UTF-32BE.

UTF-8 — поширене сьогодні кодування, що реалізовує представлення Юнікода, сумісне з 8-бітовим кодуванням тексту. Текст, що складається тільки з символів з номером менше 128, при записі в UTF-8 перетворюється на звичайний текст ASCII. І навпаки, в тексті UTF-8 будь-який байт із значенням менше 128 зображає символ ASCII з тим же кодом. Решта символів Юнікода зображається послідовностями завдовжки від 2 до 6 байтів (реально тільки до 4 байт, оскільки використання кодів більше 2²¹ не планується), в яких перший байт завжди має вид 11xxxxxx, а інші — 10xxxxxx.

Простіше кажучи, у форматі UTF-8 символи латинського алфавіту, розділові знаки і керуючі символи ASCII, записуються ASCII-кодами, а решта всіх символів кодується за допомогою октетів (послідовності завдовжки 8 бітів) зі старшим бітом 1. У результаті, навіть якщо програма не розпізнає Юнікод, то латинські букви, арабські цифри і розділові знаки зображатимуться правильно.