Tegn og tekst. \yvind og ]se N{rb}? Læreboka kapittel August Institutt for informatikk 29. august 2007.

Like dokumenter
Tegn og tekst. Posisjonssystemer. Logaritmer en kort repetisjon. Bitposisjoner og bitmønstre. Kapittel August 2008

Tegn og tekst. \yvind og ]se N{rb}? Læreboka kapittel 2. Institutt for informatikk Gerhard Skagestein 30. august 2006.

Læringsmål. INF1000: Forelesning 12. Hovedkilde. Kunne binærtall og heksadesimale tall og konvertering mellom ulike tallsystemer: Titallsystemet

Unicode. Unikt vakkert eller unisont håpløst? En vandring gjennom tegnkodingens historie. Dag Lamgmyhr, Ifi/UiO Ark 1 av 23

INF 1000 høsten 2011 Uke 11: 2. november

Albregtsen og Skagestein: Digital representasjon Løsningsforslag til kapittel 2 Representasjon av tegn og tekster

INF 1000 høsten Innhold uke 11. Digital representasjon av tekster, tall, former,

INF1040 Oppgavesett 3: Tegn og tekst

Tegn og tekst. Læringsmål. Om tegn og glyfer. Problemstilling. \yvind og ]se N{rb?

Tegn og tekst. Et representert tegn kan vises på flere måter. Noen definisjoner. Enda noen definisjoner. \yvind og ]se N{rb}? a a a.

Oppsummering 2008 del 1

Oppsummering 2008 del 1

INF1040 Digital representasjon Oppsummering

Offentlig utvalg for punktskrift, OUP Norsk standard for 8-punktskrift punktskrift 24. oktober 2004 sist endret

Tegn og tekst. Om tegn og glyfer. Tegnkoder og kodetabeller Kode Noe som representerer noe annet. Et representert tegn kan vises på flere måter

Digital representasjon

Digital representasjon

DRIFTSANALYSER 2012/2013 FORELØBIGE RESULTATER

Dagens tema. Flyt-tall. Koding. Tegnsett. Hvordan lagres de? Hvilke egenskaper har de? Hvordan regner man med dem?

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

Digital representasjon

Målet med dette notatet er å dokumentere at det er funnet løsmasser ved grunnen og å dokumentere miljøgiftkonsentrasjonen i sedimentene.

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

if (be): else (not_to_be): TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap.

Datamaskinen LC-2. Dagens tema. Tall i datamaskiner Hvorfor kan LC-2 lagre tall i intervallet ? Hvorfor er det akkurat celler i lageret?

Dagens tema. Datamaskinen LC-2 En kort repetisjon. Binære tall Litt om tallsystemer generelt. Binære tall. Heksadesimale og oktale tall

Godkjenning av møteinnkalling

Referansehåndbok for strekkode

Vektorer. Dagens tema. Deklarasjon. Bruk

Dagens tema INF1070. Vektorer (array er) Tekster (string er) Adresser og pekere. Dynamisk allokering

Grunnleggende Tekstbehandling

Testobservator for kjikvadrattester

Digital representasjon

Handi-Lift EA7 Målskjema

Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Adresse:

Netlife Sans er vår egen skrifttype. Den inneholder alle de visuelle elementene til identiteten vår. Den er tegnet i fire vekter, med en egen vekt

Godkjenning av møteinnkalling

IN 147 Program og maskinvare

INF1020 Algoritmer og datastrukturer GRAFER

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

Dagens tema: INF2100. Utvidelser av Minila array-er. tegn og tekster. Flass- og Flokkode. prosedyrer. Prosjektet struktur. feilhåndtering.

Husk å registrer deg på emnets hjemmeside!

Dagens tema INF1070. Vektorer (array-er) Tekster (string-er) Adresser og pekere. Dynamisk allokering

Handi-Lift ML7 Målskjema

Ordliste 2. Byte (byte) En streng på 8 biter som behandles som en enhet.

Handi-Lift EA7 Målskjema

Tall. Posisjons-tallsystemer. Representasjon av heltall. Tall positive, negative heltall, flytende tall. Tekst ASCII, UNICODE XML, CSS

INF1040 Oppgavesett 7: Tall og geometrier

STRATEGOS B. Målskjema. Serie nr.: Bruker Navn: Adresse: Kontaktpersoner. E-post: E-post: Levering Avd. Bruker Annet: Adresse:

INF Algoritmer og datastrukturer

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

L ; D = B M B N I < G H = D = F C M E N < D ; <? ; < = H M = < F E < M B = B C O P E < E F D < Q K

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

'f( '?jfj(f{) Pa vegne av styret i Lenningen L(Ilypelag. Til Andelseiere og sponsorer i Lenningen L0ypelag!

INF1040 løsningsforslag oppgavesett 7: Tall og geometrier

INF1040 Oppgavesett 1: Tallsystemer og binærtall

Godkjenning av møteinnkalling

PDF created with pdffactory Pro trial version

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

ˆ ˆŠ Œ ˆ ˆ Œ ƒ Ÿ Ÿ Œ œ ˆ ˆ Š Œ. .. ³μ. μ ± Ë ²Ó Ò Ö Ò Í É Å ˆˆ Ô± ³ É ²Ó μ Ë ±, μ, μ Ö Œ Œ ˆˆ 79 ˆ Š ˆ

USER GUIDE. RRD Silencioso

Perceived semantic. quality. Semantic quality. Syntactic. quality. guttens alder er grønn: gutt.alder = grønn

Innkalling er sendt til: Namn Funksjon Representerer

Forelesning Datatyper Kap 5.2 Instruksjonsformat Kap 5.3 Flyttall App B

Tall. Binære regnestykker. Binære tall positive, negative heltall, flytende tall

(a 1, a 2, a 3, a 4 ) ³Æ s 10. a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4. ( a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4) (a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4)

PDF created with pdffactory Pro trial version

Efficiency, Integrity, Reliability, Surviveability, Usability. Correctness, Maintainability, Verifiability

PDF created with pdffactory Pro trial version

Ó³ Ÿ , º 6Ä7(176Ä177).. 823Ä Œ. Œ ²±μ,,.. É ²,.. μ ²Ó,.. Íμ,.. ŠÊÉÊ μ,.. μ ±μ,.. ÒÏ

Digital representasjon

Î Ö ØØ Ò Ú Ö

Kapittel 2 TALL. Tall er kanskje mer enn du tror

Linklaget - direkte forbindelser mellom noder

Tegnsett. Innhold. Bakgrunn og historikk

Kravspesifisering (2): Validering av kravspek er

Høgskolen i Molde Institutt for Informatikk Eksamen in270: Datakommunikasjon Våren 2003 Skisse til svar:

ﺪ ﻩ ﻋﺍ ﻮﹶ ﻭ ﻗ ﻪ ﹾﻘ ﹾﻟ ﻔ ﺍ ﹺﻝ ﻮ ﹸﺃ ﺻ ﹸ ﻣ ﺔ ﻮﹸ ﻈ ﻣ ﻨ $ ﺡﺮﺷ! " ' (# $% & )*! +,!* -

ËØÓ Ø ÑÓ Ð ÓÖ ÝÑÑ ØÖ Û Ú Ù Ú Ö Ù Ä Ö Ò ÖÓÒع ÝÑÑ ØÖÝ ØÓ Ø Ä Ö Ò ÑÓ Ð ÓÖ ÝÑÑ ØÖ Ó Ò Û Ú Û Ø Ö Ø ÓÒ Ð ÔÖ Ò ÓÖ Ä Ò Ö Ò ½ ËÓ Ö ½ ÒÒ Ä Ò Ö Ò ¾ ½ ÒØÖ ÓÖ Å Ø

Dagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.

ST0202 Statistikk for samfunnsvitere

! " # $ % & ^Pv`!$ x âîv7ç È'Ç È b j k Æ' z{3 b jkæ b ÇÈÉÊ&( )! c q r É. xy+ - Êlm l D E ` &! D E â î #" ' #$ '#! v( D/Ev A B x y&?

Tom Heine Nätt og Christian F. Heide. Datasikkerhet

Thermal Brewer Aurora

Forstå skrifter. Skrive ut Innebygde skrifter. Papirhåndtering. Vedlikehold. Problemløsing. Administrasjon. Stikkordregister

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

MAT1030 Plenumsregning 3

LED arbeidslys. Katalog Kontakt: Rakkestad Stavanger Side 1 12/02/17

Ã Ô ½ Ë Ð Ô Ø Ô Ø Ð ØÖÙ ØÙÖ

Innkalling er sendt til: Namn Funksjon Representerer

Business modelling is not process modelling Gordijn/Akkermans/van Vliet. : Den fysiske ytring med kontekst og referanse

Šˆ Ÿ Š Œ ˆˆ Ÿ ˆ Š ˆ Ÿ

Kapittel 3: Litt om representasjon av tall

Ã Ô Ø ÐÚ Ö ÑÓ ÐÐ Ò Ó ØÓÖÑÓ ÐÐ Ö Ã Ô ØØ Ð

Velkommen til INF2100. Bakgrunnen for INF2100. Hva gjør en kompilator? Prosjektet. Jeg er Dag Langmyhr

R, t. reference model. observed model 1 P

I# w ,F3<#""" wxy2t {r u v$ 0 Y 4 } ~ Â ` - é$8 UX#' ] d Ñ \ ] J. I \ ] O,+R:,!" {%O DM%M5#' ] J*CO!

Ì ÊÁË ÈÖÓ Ö Ñ ÜÔÐÓÖ Ö Ë ÓÒ ËØ ØÙ Ê ÔÓÖØ ÏÓÐ Ò Ë Ö Ò Ö ÏÓÐ Ò ºË Ö Ò ÖÖ º Ùº Ø Ê Ö ÁÒ Ø ØÙØ ÓÖ ËÝÑ ÓÐ ÓÑÔÙØ Ø ÓÒ ÊÁË µ ÂÓ ÒÒ Ã ÔÐ Ö ÍÒ Ú Ö ØÝ Ä ÒÞ Ù ØÖ

Markeringsspråk og XML

K j æ r e b e b o e r!

Transkript:

Tegn og tekst \yvind og ]se N{rb}? Læreboka kapittel 2 29. ugust 2007 IN1040-tekst-1

Problemstilling Utgangspunkt: Hvert tegn i teksten representeres av et unikt bitmønster. Eksempel: Med E = 01000101, H = 01001000, I = 01001001 får vi HEI = 01001000 01000101 01001001 Sender (skriver) og mottaker (leser) må være enige om kodingen. Vi trenger standarder! ktuelle spørsmål: Hvilke tegn skal representeres? Hvor mange biter per tegn? ast eller variabelt antall biter per tegn? Hvordan håndtere» tegn som er varianter av andre tegn?» ligaturer (sammensetninger)? Bør det være noen form for systematikk i bitmønstrene? IN1040-tekst-2

Om tegn og glyfer Tegn Det bakenforliggende begrep for bestemte strektegninger på papir, skjerm, steintavler... Glyf Et tegn kan vises fram med ulike glyfer: Kontrollkode/kontrolltegn Tegn som ikke vises fram i form av en glyf, men som brukes til å styre eller påvirke fremvisningsenheten eller dataoverføringen Eksempel: SII-koden 0000111 2 (udible bell) får fremvisningsenheten til å gi lyd fra seg IN1040-tekst-3

Et representert tegn kan vises på flere måter Godt prinsipp: tegnrepresentasjon (kode) 0110 0001 lager/ hukommelse ( memory )?? a a a a α a a a Skill representasjon fra fremvisning ( rendering ) glyfer IN1040-tekst-4

Tegnkoder og kodetabeller Kode Noe som representerer noe annet kodepunkt Eksempel: Heksadesimal notasjon, se neste lysark SII-koden 1000001 2 = 0x41 0x41 representerer tegnet B 0x42 Kodepunkt 0x43 Et tegns numeriske verdi Kodetabell Eksempel: 0x41 er kodepunktet for i SII Kodetabell En ordnet liste av koder og hva de representerer Koding ( Encoding ) 1. Oppsett av en kodetabell 2. Kodingsprinsipp brukt i forbindelse med dataoverføring IN1040-tekst-5

ra binær til heksadesimal og vice versa ra binær til heksadesimal Grupper de binære sifrene 4 og 4 (bakfra) Erstatt hver gruppe med det tilsvarende heksadesimale sifferet Eksempel: 0110 0001 2 = 0x61 ra heksadesimal til binær Bruk tabellen motsatt vei binær siffergruppe 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 heksadesimalt siffer 0 1 2 3 4 5 6 7 8 9 B D E IN1040-tekst-6

Baudots femlednings-system (1874) ransk ingeniør (1845-1903) Brukte fem ledninger for å overføre ett tegn ørste eksempel på fast antall biter per tegn i den elektriske verden Et genuint binært system! IN1040-tekst-7

Baudot kodetabell (1870 ) LTRS 0 1 2 00 undef E 10 LTRS X IGS 0 1 2 00 undef 1 2 10 LTRS., 5-biters kode 32 ulike koder To plan LTRS og IGS statusavhengig koding å kontrolltegn 3 4 5 6 7 8 9 É I O U Y IGS J G Z S T W V DEL K M 3 4 5 6 7 8 9 & 3 4 O 5 IGS 6 7 : ;!? ' DEL ( ) B H L B H = B R 8 - D Q D 9 / E Z E D P 0 % IN1040-tekst-8

Baudot - sendeenhet Kodetabellen utformet med tanke på håndens ergonomi LTRS none IV V both IGS none IV V both none undef IGS LTRS DEL none undef IGS LTRS DEL I J K I 1 6. ( II E G X M II 2 7, ) I II É H Z L I II & H : = III I B S R III 3 8 ; - III I O T Q III I 4 9! / III II U W Z III II O? III II I Y D V P III II I 5 0 ' % IN1040-tekst-9

6-biters tegn kodetabell (1960 ) 0 1 00 @ [ 10 K L 20 ) - 30 0 1 Mange ulike varianter til og med på samme maskintype Eksempel her: UNIVs 6-bits IELDT kodetabell 2 3 4 5 6 ] # space M N O P Q + < = > & 2 3 4 5 6 Ofte bygd på IELDT 7 B R $ 7 (en US-rmy standard) 8 S * 8 Meget utbredt på 60-tallets datamaskiner 9 D E T U ( % 9 Gir rom for Z, 0 9, noen spesialtegn B V : ; Ikke små bokstaver, ingen nasjonale tegn (Æ, Ø, Å) D E G H I W X Y?!, /. Tall og bokstaver systematisk plassert J Z \ IN1040-tekst-10

SII (1963 ) SII merican Standard ode for Information Interchange 7-biters kode 128 tegn Meget gjennomtenkt standard brukes den dag i dag, og er inkludert i nyere standarder Gir rom for Z, a z, 0 9, mange spesialtegn... men ikke for internasjonale tegn (æ, ø, å) se www.jimprice.com/jim-asc.htm IN1040-tekst-11

IN1040-tekst-12 SII kodetabell (1963 ) DEL o _ O? / US SI ~ n ^ N >. RS SO E } m ] M = - GS R D l \ L <, S { k [ K ; + ES VT B z j Z J : * SUB L y i Y I 9 ) EM HT 9 x h X H 8 ( N BS 8 w g W G 7 ' ETB BEL 7 v f V 6 & SYN K 6 u e U E 5 % NK ENQ 5 t d T D 4 $ D4 EOT 4 s c S 3 # D3 ETX 3 r b R B 2 D2 STX 2 q a Q 1! D1 SOH 1 p ` P @ 0 space DLE NUL 0 70 60 50 40 30 20 10 00

Hva betyr kontrolltegnene? NUL (Null): No character BEL (Bell): Used to control an alarm or attention device. BS (Back Space): Indicates the movement of the printing mechanism or display cursor one position backwards. HT (Horizontal Tab): Indicates the movement of the printing mechanism or display cursor forward to the next preassigned tab or stopping position. L (Line eed): Indicates movement of the printing mechanism or display cursor to the next line. R (arriage Return): Indicates movement of the printing mechanism or display cursor to the starting position of the same line. ES (Escape): Intended to provide code extension in that it gives a specified number of contiguous following characters an alternate meaning. SP (Space): nonprinting character used to separate words, or to move the printing mechanism or display cursor forward by one position. DEL (Delete): Used to obliterate unwanted characters (for example, on paper tape by punching a hole in every bit position). se også http://www.tomrobinson.co.nz/work/iso8859.html IN1040-tekst-13

ISO 646-60 kodetabell 0 1 00 NUL SOH 10 DLE D1 20 space! 30 0 1 40 @ 50 P Q 60 ` a 70 p q 2 STX D2 2 B R b r Bygger på SII, men [ \ ] { } er ofret til fordel for Æ Ø Å æ ø å Lignende tilpasninger er gjort i tilsvarende standarder for andre språkmiljøer 3 4 5 6 7 8 9 B ETX EOT ENQ K BEL BS HT L VT D3 D4 NK SYN ETB N EM SUB ES S # $ % & ' ( ) * +, 3 4 5 6 7 8 9 : ; < D E G H I J K L S T U V W X Y Z Æ Ø c d e f g h i j k l s t u v w x y z æ ø D R GS - = M Å m å E SO RS. > N ^ n ~ SI US /? O _ o DEL IN1040-tekst-14

8 biter: Extended SII og ISO 8859 (1968 ) 8859-1: Latin lphabet No. 1 (Vest-Europa) 8859-2: Latin lphabet No. 2 (slavisk, ungarsk, romansk) 8859-3: Latin lphabet No. 3 (esperanto, maltesisk) 8859-5: Latin/yrillic lphabet 8859-6: Latin/rabic lphabet 8859-7: Latin/Modern Greek lphabet 8859-8: Latin/Hebrew lphabet 8859-9: Latin lphabet No. 5 (moderne tyrkisk) 8859-13: Latin lphabet No. 7 (islandsk, grønlandsk, baltisk, nordsamisk) 8859-14: Latin lphabet No. 8 (keltisk) 8859-15: Latin lphabet No. 9 (modernisert 8859-1, med bl.a. euro-tegn) IN1040-tekst-15

IN1040-tekst-16 DEL ~ } { z y x w v u t s r q p 70 80 90 - «ª no break space 0 ¾ ½ ¼» º ¹ µ ³ ² ± B0 Ï Î Í Ì Ë Ê É È Ç Æ Å Ä Ã Â Á À 0 ß Þ Ý Ü Û Ú Ù Ø Ö Õ Ô Ó Ò Ñ Ð D0 ï î í ì ë ê é è ç æ å ä ã â á à E0 ÿ o _ O? / US SI þ n ^ N >. RS SO E ý m ] M = - GS R D ü l \ L <, S û k [ K ; + ES VT B ú j Z J : * SUB L ù i Y I 9 ) EM HT 9 ø h X H 8 ( N BS 8 g W G 7 ' ETB BEL 7 ö f V 6 & SYN K 6 õ e U E 5 % NK ENQ 5 ô d T D 4 $ D4 EOT 4 ó c S 3 # D3 ETX 3 ò b R B 2 D2 STX 2 ñ a Q 1! D1 SOH 1 ð ` P @ 0 space DLE NUL 0 0 60 50 40 30 20 10 00 undefined ISO 8859-1 (Latin-1) kodetabell

IN1040-tekst-17 DEL ~ } { z y x w v u t s r q p 70 80 90 - «ª š Š no break space 0 Ÿ œ Œ» º ¹ ž µ Ž ³ ² ± B0 Ï Î Í Ì Ë Ê É È Ç Æ Å Ä Ã Â Á À 0 ß Þ Ý Ü Û Ú Ù Ø Ö Õ Ô Ó Ò Ñ Ð D0 ï î í ì ë ê é è ç æ å ä ã â á à E0 ÿ o _ O? / US SI þ n ^ N >. RS SO E ý m ] M = - GS R D ü l \ L <, S û k [ K ; + ES VT B ú j Z J : * SUB L ù i Y I 9 ) EM HT 9 ø h X H 8 ( N BS 8 g W G 7 ' ETB BEL 7 ö f V 6 & SYN K 6 õ e U E 5 % NK ENQ 5 ô d T D 4 $ D4 EOT 4 ó c S 3 # D3 ETX 3 ò b R B 2 D2 STX 2 ñ a Q 1! D1 SOH 1 ð ` P @ 0 space DLE NUL 0 0 60 50 40 30 20 10 00 undefined ISO 8859-15 (Latin-15) kodetabell ISO 8859-1 modernisert

8 biter produsentspesifikke varianter IBMs EBDI (1963 ---) Microsoft Windows-1252: ISO 8859-1 pluss 28 tegn Macintosh MacRoman Encoding Designere av Ps, Macs og UNIX programvare har valgt ulike måter for representasjon av linjeskift: Ps: 0x0D pluss 0x0 (R pluss L) Macs: 0x0D UNIX: 0x0 Dette gjør filoverføring tricky! IN1040-tekst-18

IN1040-tekst-19 Windows 1252 kodetabell DEL ~ } { z y x w v u t s r q p 70 undef Ž undef Œ Š ˆ ƒ undef 80 Ÿ ž undef œ š undef 90 - «ª no break space 0 ¾ ½ ¼» º ¹ µ ³ ² ± B0 Ï Î Í Ì Ë Ê É È Ç Æ Å Ä Ã Â Á À 0 ß Þ Ý Ü Û Ú Ù Ø Ö Õ Ô Ó Ò Ñ Ð D0 ï î í ì ë ê é è ç æ å ä ã â á à E0 ÿ o _ O? / US SI þ n ^ N >. RS SO E ý m ] M = - GS R D ü l \ L <, S û k [ K ; + ES VT B ú j Z J : * SUB L ù i Y I 9 ) EM HT 9 ø h X H 8 ( N BS 8 g W G 7 ' ETB BEL 7 ö f V 6 & SYN K 6 õ e U E 5 % NK ENQ 5 ô d T D 4 $ D4 EOT 4 ó c S 3 # D3 ETX 3 ò b R B 2 D2 STX 2 ñ a Q 1! D1 SOH 1 ð ` P @ 0 space DLE NUL 0 0 60 50 40 30 20 10 00 Bygger på ISO 8859-1

IN1040-tekst-20 ETSI GSM 03.38 kodetabell for SMS ES ) } ES @ ES ( { ES Λ ^ ES > ] ES = ~ ES / \ ES < [ ES L ES e pluss disse 10 escape - sekvensene à o $ O? / É å ü n Ü N >. undef Å E ñ m Ñ M = - æ R D ö l Ö L <, Æ ø ä k Ä K ; + ES Ø B z j Z J : * Ξ L y i Y I 9 ) Θ Ç 9 x h X H 8 ( Σ ò 8 w g W G 7 ' Ψ ì 7 v f V 6 & Π ù 6 u e U E 5 % Ω é 5 t d T D 4 Λ è 4 s c S 3 # Γ 3 r b R B 2 Φ $ 2 q a Q 1! _ 1 p P 0 space @ 0 70 60 50 40 30 20 10 00

Den endelige løsning? Unicode og ISO 10646 21 biter, med mulighet for 1 114 112 bitmønstre Tegnsettet er delt opp i 17 plan med 2 16 = 65536 bitmønstre i hvert plan Plan 0: BMP Basic Multilingual Plane U+0000 to U+ Plan 1: SMP Supplementary Multilingual Plane historiske språk (f. eks. egyptiske hieroglyfer), musikk Plan 2: SIP Supplementary Ideographic Plane sjeldne kinesiske tegn I Unicode skriver vi U+ istedenfor 0x Plan 14: SPP Supplementary Special Purpose Plane tag characters 100000 17 BMP 00 Basic Multilingual Plane 000000 0000 00 256 256 se http://www.unicode.org/ IN1040-tekst-21

or hvert tegn finnes en representativ glyf kodepunktet et navn klassifisering Skriveretning Unicode databasen Vedtatte tegn med kodepunkter skal aldri endres Det er plass til 1 114 112 kodepunkter, herav ca 130 000 private. a 870 000 kodepunkter er ennå ikke brukt I BMP er det plass til 65 536 ulike bitmønstre. 21 000 bitmønstre er brukt for kinesiske ideografer, 2 048 bitmønstre for surrogatpar, 6 400 bitmønstre er private. 6 700 bitmønstre er ennå ikke brukt ørste 128 tegn er identisk med SII ørste 256 tegn identisk med ISO 8859-1 se http://www.unicode.org/charts/ IN1040-tekst-22

Men hva er nå egentlig et tegn? Noen eksempler: Norsk: aa (f.eks. i navn) oppfattes som å Spansk: ll (eks. Mallorca) oppfattes som j Er ö ett tegn, eller o med tødler? Er ½ ett tegn, eller tre? Ligaturer: ae æ, ij ij to eller ett tegn? Er bokstaven Å og enheten Å to forskjellige tegn? Kontroversielt tema: Unifisering av JK (tegnsettet brukt i kinesisk, japansk og koreansk) IN1040-tekst-23

Kombinerende tegnsekvenser I Unicode finnes mange tegnsekvenser som vises som en eneste, sammensatt glyf. Eksempel: Et tegn med diakritiske merker (se neste lysark) representeres som et basistegn etterfulgt av ett eller flere kombinasjonstegn som gir de diakritiske merkene Eksempel: Ö representeres ved hjelp av de to tegnene O og, dvs. U+4 og U+8 or å være kompatibel med SII og ISO 8859-1 finnes det også såkalte forhåndssammensatte ( precomposed ) tegn, der basistegn og kombinasjonstegn oppfattes som ett tegn Eksempel: Ö kan også representeres direkte som forhåndssammensatt tegn, dvs. U+D6 Samme tekst kan altså representeres på flere måter! IN1040-tekst-24

Eksempler på diakritiske merker acute accent armstrong or ring above breve ˇ caron/háček ˇ cedilla circumflex ˆ diaresis/umlaut double acute accent grave accent ` macron ogonek basistegn diakritisk merke ç IN1040-tekst-25

Tegn med endret utseende Er ² i teksten x² et spesielt tegn U+B2 = ², eller er det det vanlige tegnet U+32 = 2 som har vært gjenstand for en egnet formatering? Er ½ et spesielt tegn U+BD = ½, eller er det de tre tegnene U+31 = 1, U+2 = / og U+32 = 2 som har vært gjenstand for en egnet formatering? IN1040-tekst-26

Unicode normalisering or å kunne sammenlikne tekster, bør de være normalisert til samme form Den vanligste normaliseringsformen (form D): Erstatte forhåndssammensatte tegn med basistegn pluss kombinasjonstegn La tegn med endret utseende stå urørt ndre former kan imidlertid være nyttige i spesielle tilfeller IN1040-tekst-27

Koding av tegnstrømmer Hvordan sende og lagre en sekvens av Unicode-tegn? Ulike formater, kalt UT Unicode Transformation ormats (Unicode) eller US Universal haracter Set (ISO 10646) UT-32 = US-4: Bruker 32 biter for alle tegn (lite brukt). UT-16 = US-2: Tegn i BMP: 16 biter. Tegn utenfor BMP: surrogatpar. UT-8 = US-1: Bruker 8, 16, 24 eller 32 biters avhengig av tegnet. or tegn i SII brukes 8-biter med bitmønsteret 0x00 0x7. UT-8 er identisk med SII med en ekstra ledende 0 for tegn definert i SII! IN1040-tekst-28

Unicode UT-32 øy til ledende 0-biter opp til 32 biter foran representasjonen av kodepunktet Eksempler: Hva er representasjonen for i UT-32? Hva er representasjonen for Ø i UT-32? IN1040-tekst-29

Unicode UT-16 Med 16 biter kan kodepunktene i BMP representeres direkte De 16 planene over BMP adresseres med surrogatpar fra BMP Surrogatpar Bitmønstre i BMP som fungerer som halvtegn av 21-biters tegn ørste halvdel (high surrogate): U+D800 U+DB Siste halvdel (low surrogate): U+D00 U+D Brukes ikke for noe annet, og tar derfor plass som ellers kunne vært brukt for vanlige tegn i BMP Unicode UT-16 har altså tegn med variabel lengde, men lengden kan fastslås ut fra bitmønsteret IN1040-tekst-30

S = (high 0xD800) * 0x0400 + (low 0xD00) + 0x10000 High surrogate D800 DB : 1101 10xx xxxx xxxx Low surrogate D00 D: 1101 11xx xxxx xxxx Gir indirekte tilgang til 2 20 = 1 048 576 ekstra tegn ut fra BMP High surrogate : 1101 10xx xxxx xxxx Low surrogate : 1101 11xx xxxx xxxx xxxx xxxx xxxx xxxx xxxx + 0001 0000 0000 0000 0000 = x xxxx xxxx xxxx xxxx xxxx 256 17 256 IN1040-tekst-31

Unicode UT-16 Surrogat-par - eksempel Hva er representasjonen for Linear B i Unicode UT-16? Kodepunktet for er U+1000 IN1040-tekst-32

Enslig motorvogn = 0 + SII-kode Motorvogn i tog begynner alltid med et antall 1er-biter etterfulgt av en 0 ntall 1er-biter i motorvognen = antall vogner i toget Vognene begynner alltid med 10 Disse bitmønstrene brukes ikke for vanlige tegn i UT-8 Unicode UT-8 7 biter 0xxxxxxx 11 biter 110xxxxx 10xxxxxx 1110xxxx 11110xxx 16 biter 10xxxxxx SII med en ekstra ledende 0 er kompatibel med UT-8 10xxxxxx 21 biter 10xxxxxx 10xxxxxx 10xxxxxx http://www.ifi.unizh.ch/mml/mduerst/papers/pd/iu11-ut-8.pdf IN1040-tekst-33

Unicode UT-8 eksempler Hva er representasjonen for i Unicode UT-8? Hva er representasjonen for Ø i Unicode UT-8? IN1040-tekst-34

Veletablerte Unicode delmengder mbisiøst å skulle håndtere over 40000 tegn! Vi kommer langt med delmengder: WGL4 (Windows Glyph List) 650 tegn fra MS-DOS, Windows, Mac Europeiske US-delmengder MES-1: 335 tegn unionen av ISO 8859-1,2,3,4,9,10,15 MES-2: 1052 tegn supermengde av MES-1 med latin/gresk/kyrillisk/armensk/georgisk pluss matematiske tegn MES-3: 2819 tegn supermengde av MES-2 og WGL4 Lignende delmengder for sia se www.cl.cam.ac.uk/~mgk25/unicode.html IN1040-tekst-35

Big endian vs. Little endian I representasjoner som krever mer enn én byte, finnes det to mulige rekkefølger av bytene: Starte med den mest signifikante ( Big endian ) Starte med den minst signifikante ( Little/small endian ) Eksempel: UT-16 Big endian for er 0x 00 41 UT-16 Little endian for er 0x 41 00 Begge muligheter blir brukt i praksis, og dette kan gi problemer når data overføres fra et maskinmiljø til et annet! IN1040-tekst-36

Byte order mark (BOM) Et Byte order mark (BOM) er tegnet Zero width no-break space med kodepunkt U+E i begynnelsen av en Unicode-fil. Siden det ikke finnes noe tegn med kodepunkt E, kan BOM brukes til å finne filformatet (UT-32, UT-16, UT-8 og Big eller Small endian) se tabellen. Koding UT-32, big-endian UT-32, little-endian UT-16, big-endian UT-16, little-endian UT-8 BOM-bitmønster 0x 00 00 E 0x E 00 00 0x E 0x E 0x E BB B IN1040-tekst-37

Plain vs. fancy tekst Unicode-standarden omfatter bare plain text : Tekst uten typografiske virkemidler som bestemt skrifttype og skriftstørrelse, fet skrift, kursiv, bestemt linjeavstand, innrykk osv. ancy tekst er Unicodes betegnelse på tekst med slike typografiske virkemidler. Disse må legges inn i teksten i form av formatteringskommandoer til fremvisningsenheten. ancy tekst er temaet for neste forelesning! IN1040-tekst-38