• Nie Znaleziono Wyników

4a. Reprezentacje znaków w komputerze Wszelkie informacje przetwarzane

N/A
N/A
Protected

Academic year: 2021

Share "4a. Reprezentacje znaków w komputerze Wszelkie informacje przetwarzane"

Copied!
2
0
0

Pełen tekst

(1)

str. 3

4a. Reprezentacje znaków w komputerze

Wszelkie informacje przetwarzane w komputerze są ciągam bitów. Dlatego każdy znak wprowadzany z klawiatury (np.

A, a, 7, %, !), każda liczba (np. 17; 5,(3); -8), dźwięk, obraz muszą byd zapisane jako sekwencje 0-1. W zależności od typu znaku, przyjęte są różne umowy co do ich kodowania, czyli zamiany na reprezentację binarną.

4.1.

Znaki alfanumeryczne

Znaki alfanumeryczne to znaki, które mogą byd wprowadzone za pomocą klawiatury komputera, czyli oprócz cyfr 0-9, liter a-Z również znaki interpunkcyjne, symbole matematyczne i znaki specjalne, np.: ";", "+", "(", "#", "!", "@".

Uwzględnione są również specyficzne znaki stosowane w alfabetach różnych języków, takie jak: "ą", "é", "ç".

Przykładowe standardy kodowania:

ASCII (ang. American Standard Code for Information Interchange)- 7-bitowy kod przyporządkowujący liczby z zakresu 0-127 (w sumie 95 znaków widocznych i 33 niewidoczne):

literom alfabetu angielskiego (np. 65-90 dla dużych liter, czyli 010b bbbb),

cyfrom (48-57 czyli 0011 bbbb),

 znakom przestankowym

 i innym symbolom oraz poleceniom sterującym

Rozszerzone kody ASCII – dzięki zagospodarowaniu ósmego bitu posiadają 256 pozycji (pierwsze 128 tak jak ASCII, następne to znaki narodowe i inne symbole). Różne warianty wykorzystania tego bitu zostały nazwane kodami stron. Problemem było istnienie wielu równoległy standardów kodowania znaków, które nie były ze sobą kompatybilne. Międzynarodowa organizacja standaryzująca ISO stworzyła normy, znane powszechnie pod nazwą ISO-8859-x, gdzie x jest cyfrą od 1 do 10. Europa Wschodnia, łącznie z Polską dostała numer 2. Niestety Bill G.

wprowadził strony kodowe ANSI, niezgodne z ISO…

Kody rodziny EBCDIC (ang. Extended Binary Coded Decimal Interchange Code) - EBCDIC to rozszerzony zapisywany dziesiętnie kod wymiany informacji, używany w systemach firmy IBM.

Kody służące do kodowania znaków UNICODE

UNICODE to światowy standard służący do kodowania znaków, przy czym Unicode definiuje jedynie zestaw znaków, a nie sposób jego kodowania. Każdy znak Unicode ma swój unikalny numer - tzw code point - przedstawiany jako liczba w systemie szesnastkowym wraz z przedrostkiem U ( np. U+0041 przedstawia A). Unicode jest zgodny z ASCII.

Unicode jest swoistą bazą kodowania dla wszystkich języków i znaków. Cechy Unicode:

 Jednoznacznośd. Jeden kod odpowiada jednemu znakowi i odwrotnie.

 Uniwersalnośd. Obejmuje wszystkie powszechnie używane języki oraz symbole.

 Efektywnośd. Identyfikacja znaku nie zależy od sekwencji sterującej czy znaków następujących bądź poprzedzających.

 Identyfikacja znaku a nie wygląd (styl, wielkośd, język są nieistotne).

 Własności znaków (np. kolejnośd alfabetyczna) nie zależą od położenia w tabeli kodów ale są określone w tablicy własności.

 Logiczny porządek (porządek, w jakim są pisane znaki).

Do kodowania znaków zapisanych w UNICODE stosowane są najczęściej kody UTF-8, UTF-16 i UTF-32.

0 1 2 3 4 5 6 7 8 9 A B C D E F

0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

2 SP ! # $ % & ( ) * + , - . /

3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

4 @ A B C D E F G H I J K L M N O

5 P Q R S T U V W X Y Z [ \ ] ^ _

6 ` a b c d e f g h i j k l m n o

7 p q r s t u v w x y z { | } ~ DEL

(2)

str. 4

UTF-8 – obecnie najpopularniejszy system kodowania Unikod.

UTF-8 wykorzystuje od 1 do 4 bajtów do zakodowania pojedynczego znaku. Liczba bajtów potrzebna do zakodowania znaku w UTF-8, zależy od liczby bitów znaczących w Unikod. Każdy bajt UTF-8 zaczyna się od bitów wiodących. Jeżeli do zakodowania znaku potrzebny jest tylko 1 bajt – bitem wiodącym jest 0 (znaki ASCII).

W przeciwnym razie pierwszy bajt zawiera informację o liczbie bajtów a pozostałe bajty zaczynają się od 10.

Liczba bitów

znaczących Bajt 1. UTF-8 Bajt 2. UTF-8 Bajt 3. UTF-8

1-7 0 b

6b

5b

4b

3b

2b

1b

0

8-11 110 b

11b

10b

9b

8b

7 10 b

6b

5b

4b

3b

2b

1b

0

12-16 1110 b

16b

15b

14b

13 10 b

12b

11b

10b

9b

8b

7 10 b

6b

5b

4b

3b

2b

1b

0

Np. Znak

ma code point U+21D4 (w systemie szesnastkowym), a w systemie binarnym zajmuje 2 bajty:

0 x21D4 = 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0

Ponieważ znak ⇔ ma 14 bitówznaczących, to zgodnie z tabelą kodowania w UTF-8 znak ⇔ zajmuje dokładnie 3 bajty. Każdy z nich zaczyna się od bitów wiodących. Pierwszy bajt ma bity wiodące 1110, które oznaczają, że znak zajmie 3 bajty. Następne 2 bajty mają identyczne bity wiodące 10. Po bitach wiodących zapisane są bity znaku (bit najmłodszy z Unikod na miejsce najmłodszego bitu w UTF-8 itd.).

0 x2 1 D 4 = 0 0 1 0 0 0 0 1 1 1 0 1 0 1 0 0

W rezultacie znak ⇔ ma kod11100010 10000111 10010100 UTF

,

a w postaci szesnastkowej: E2 87 94.

4.2.

Obrazy

Są dwa sposoby kodowania obrazu za pomocą bitów: grafika rastrowa i grafika wektorowa.

W grafice rastrowej obrazy budowane są z położonych blisko siebie punktów – pikseli w różnych kolorach, które stwarzają pozorny obraz ciągły. Do zapisu obrazu rastrowego służy bitmapa - dwuwymiarowa tablica pikseli.

Bitmapę charakteryzują następujące parametry:

- rozdzielczośd - wysokośd i szerokośd bitmapy wyrażone liczbą pikseli w pionie i w poziomie.

- głębia koloru - liczba bitów użytych do reprezentacji koloru jednego piksela. Obraz o głębi x-bitowej ma 2x kolorów. W przypadku urządzeo elektronicznych emitujących światło (np. monitory) stosuje się m.in.

modele barw RGB, HSB a w przypadku urządzeo drukujących - CMY i CMYK.

4.3.

Kontrola transmisji danych

Bit parzystości,

Suma kontrolna,

CRC

Zadania

4.1. Rozkoduj obraz:

a) 5X16 pikseli o głębi 1b/pix zakodowany kodem ASCII: &f UU Ue UW &U

b) 3x4 pikseli o głębi 2b/pix zakodowany kodem ASCII: @ _ A przy umowie, że 00-czarny, 11 – biały, 01 – czerwony, 10- zielony)

4.2. Dane słowa 8-bitowe mają dodaną odpowiednią sumę kontrolną. Określ, które uległy zniekształceniu a) 110111011

b) 0101110111

c) 01011101011 d) 0101110100

1 1 1 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 1 0 1 0 0

bity znaczące znaku

Cytaty

Powiązane dokumenty

Nowej zmiennej „dnarev” przypisz listę utworzoną z sekwencji DNA (zmienna „dna” z poprzedniego zestawu zadao) , a następnie odwród listę.. #Metoda sheet_by_name zwraca

 Inicjalizacja możliwa jest tylko przy deklaracji Inicjalizacja możliwa jest tylko przy deklaracji..  Przypisanie zmiennej txt wartości &#34;Pies&#34; wymaga zastosowania

 Łańcuch znaków (ciąg znaków, napis, literał (ciąg znaków, napis, literał łańcuchowy, stała łańcuchowa, C-string) - ciąg złożony z zera lub większej liczby.

Aby takie przypisanie było możliwe, odnośnik musi mieć zadeklarowany odpowiedni typ – albo dokładnie taki jaki jest typ odniesienia do właśnie sfabrykowanego obiektu, albo typ

Słownik polsz- czyzny XVI wieku stosuje å na oznaczenie a pochyłego niezależnie od tego, jak jest reprezentowane w piśmie (jak się wydaje, konwencja ta ma dłuższą tradycyję, ale

(That is the traditional count, which totals up graphic and format characters, but omits surrogate code points, ISO control codes, noncharacters, and private-use allocations.)...

Unicode 4.1 and Slavic Philology Problems and Perspectives

Dekompozycja normalizacyjna Dekompozycja adaptacyjna Własności znaków.. Własności znaków Własności znaków Własności znaków Własności znaków Unifikacja