Kódování znaků Datové formáty

Slides:



Advertisements
Podobné prezentace
Základy ukládání dat v počítači
Advertisements

Standardní knihovní funkce pro práci s textovými řetězci
VISUAL BASIC Práce s řetězci Použitá literatura: Kvoch: Visual Basic 4.
PEVNÝ DISK POČÍTAČE.
Základní škola a mateřská škola Lázně Kynžvart Autor: Mgr. Petra Šandová Název: VY_32_INOVACE_5B_INF3_10_ Operační systémy, formáty souborů Téma: Operační.
VISUAL BASIC Práce se soubory.
Aplikační a programové vybavení
Semestrální práce KIV/PT Martin Kales Hana Hůlová.
Internetové publikování Doc. Ing. Petr Zámostný, Ph.D. místnost: A-72a tel.: 4222, 4167 (sekretariát ústavu 111)
Programování v Pascalu Přednáška 7
Informatika pro ekonomy II přednáška 4
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Základy číslicové techniky
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
IT Session Two Lessons Three and Four. Outline  IT Test 1  International Phonetic Alphabet  IPA – Interactive chart  Exercise 1  Český národní korpus.
Počítač, jeho komponenty a periferní zařízení
Číselné soustavy david rozlílek ME4B
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
Radim Farana Podklady pro výuku
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Datové typy a struktury
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Used to/ would, be/ get used to Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Romana Petrová. Dostupné z Metodického portálu
Aplikační a programové vybavení
Výkresové soubory Přednáška č.6. Témata přednášky Typy výkresových souborů –*.dwt, *.dwc, *.dwg, *.dxf DXF formát Ochrana souborů před poškozením Export.
31.1 Druhá a třetí mocnina Úkol:
Mgr. Ludmila Faltýnková EU OPVK ICT2-4/AJ20
Kódování Radim Farana Podklady pro výuku. Obsah Unikátní identifikátory. Kontrolní číslice, GUI,  realizace kontrolních číslic. Kódy konstantní změny,
Milan Kryl(c) 2004 MFF UK Databáze Caché NLS national language settings.
Číslo projektuCZ.1.07/1.5.00/ Číslo materiáluVY_32_INOVACE_179 Název školyGymnázium, Tachov, Pionýrská 1370 Autor Mgr. Eleonora Klasová Předmět.
Kompresní metoda ACB Associative Coder of Buyanovsky autor: George Buyanovsky připravil Tomáš Skopal podle knihy „Data Compression“ od D. Salomona, 1997,
1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Countable and Uncountable Nouns, some, any, a/ an
Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít.
Informační systémy v personálním řízení RNDr. Jan Žufan, Ph.D., MBA
Informatika pro ekonomy II přednáška 5
Uložení dat v počítači.
Jazyk XML v geoinformatice
Radim Farana Podklady pro výuku
Kódování znaků vnitřní reprezentace znaků v paměti počítače pomocí čísel zobrazení mezi písmeny (pro lidi) a čísly (pro počítače) Zpočátku jen pro angličtinu,
Tutorial: Obchodní akademie Topic: Logical Functions Prepared by: Mgr. Zdeněk Hrdina Projekt Anglicky v odborných předmětech, CZ.1.07/1.3.09/ je.
Číselné soustavy VII ASCII kódování Jana Bobčíková.
Úvod do XML S využitím materiálů z Zdeněk Žabokrtský.
OPERAČNÍ SYSTÉM.
Podpora rozvoje cizích jazyků pro Evropu 21. stol. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Tento projekt je spolufinancován Evropským sociálním fondem a státním.
Giving advice. At the doctor´s Gymnázium a Jazyková škola s právem státní jazykové zkoušky Zlín Tematická oblastSlovní zásoba a gramatika Datum.
SELFBRIEFING. CONTEST AREA + AIRSPACE SOUTĚŽNÍ OBLAST + VZDUŠNÝ PROSTOR.
Reprezentace dat v počítači. základní pojmy  BIT označení b nejmenší jednotka informace v paměti počítače název vznikl z angl. BINARY DIGIT (dvojkové.
Software,hardware,data,biti a bajty.  Software je v informatice sada všech počítačových programů používaných v počítači, které provádějí nějakou činnost.
Autor: Mgr. Kateřina Suková
Definiční obor a obor hodnot
Veřejný seminář k projektu NIX-ZD.CZ
Neurčitá zájmena SOME, ANY, NO
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Textové vstupy UIS Jiří Rybička
Informační analýza a identifikace dokumentů
Financováno z ESF a státního rozpočtu ČR.
Ukládání dat v paměti počítače
AUTOR: Mgr. Alena Bartoňková
Výukový materiál zpracovaný v rámci projektu OPVK
DIGITÁLNÍ UČEBNÍ MATERIÁL
Algoritmizace a datové struktury (14ASD)
Informácie okolo nás Kódovanie znakov.
Informatika pro ekonomy přednáška 2
T-CUP 2018 SELFBRIEFING.
Algoritmizace a datové struktury (14ASD)
Command line nástroje Jednoúčelové, ale mocné nástroje pro transformace textu Jak získat: Linux (a Mac) – součást operačního systému Windows – musí se.
Command line nástroje Jednoúčelové, ale mocné nástroje pro transformace textu Jak získat: Linux (a Mac) – součást operačního systému Windows – musí se.
Transkript prezentace:

Kódování znaků Datové formáty Zdroje jazykových dat Kódování znaků Datové formáty

Kódování znaků Počítače současnosti – číslicové neexistuje přirozený vztah mezi čísly a znaky abecedy  potřeba konvence Neexistence konvence nebo mnoho konvencí  CHAOS Na začátku bylo slovo, a to slovo bylo v ASCII …

Základní pojmy Znak (character)‏ abstraktní pojem (An „A“ is something like a Platonic entity: it is the idea of an „A“ and not the „A“ itself)‏ nemá sám o sobě žádnou číselnou reprezentaci ani pevnou grafickou podobu Př. „velké písmeno A s čárkou“ Repertoár znaků (character repertoire)‏ Množina znaků Otázka identity: stejně vypadající znaky mohou být považovány za logicky odlišné (A v latince a alfabetě)‏

Základní pojmy Kódování (encoding)‏ Algoritmus pro převod posloupnosti znaků na posloupnost oktetů kódová pozice znaku (code position)‏ Číselná reprezentace znaku (nezáporné celé číslo)‏ Kódování (character code)‏ 1-1 relace mezi prvky repertoáru znaků a nezápornými celými čísly Glyf Vizuální prezentace znaku Font Repertoár glyfů pro množinu znaků

ASCII (1)‏ American Standard Code for Information Interchange (od 1950’s)‏ Sedm bitů – hodnoty 0-127 0-31,127 - Kontrolní znaky (Escape, Line Feed)‏ 32-126 – mezera, speciální znaky, číslice, velká a malá písmena latinky: ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ Pozn. Nesmyslný termín ‘8-bit ASCII’

ASCII (2)‏ Výhody: Zásadní nevýhoda: Velice jednoduché kódování: jeden znak – jedna kódová pozice Minimální objem: 1 znak – 1 oktet (jeden bit zbyde - oktety 128-255 zůstávají nevyužité)‏ Zásadní nevýhoda: Neprosto nedostačující pro repertoáry znaků národních abeced

8-bitová kódování (1)‏ Potřeba dalších znaků vznikají nová kódování obsahují ASCII jako podmnožinu navíc využívají oktety 128-255 (stále platí jeden znak – jeden oktet)‏ International Standard Organisation vydává skupinu standardních kódování pro některé skupiny jazků – rodina ISO 8859 (1980’s)‏ ISO 8859-1 (ISO Latin 1) – západoevropské jazyky   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

8-bitová kódování (2)‏ pro češtinu a ostatní středo- a východoevropské jazyky - anarchie: ISO 8859-2 (ISO Latin 2)‏ Windows-1250 Koi-8 Bratři Kameničtí vlastní „standardy“ IBM, Apple …

Unicode (1)‏ Jediné řešení: víceoktetová kódování 1991 – Unicode Consortium Unicode (resp. ISO 10646)‏ určuje repertoár znaků a jejich kódové pozice v současnosti- 30 světových abeced užívaných v několika stovkách jazyků, cca 40000 znaků …arabština, sanskrt, čínština, japonština, korejština… ambice: 250 abeced pro několik tisíc jazyků Znaky v Unicode: „LATIN CAPITAL LETTER A WITH ACUTE“

Unicode (2)‏ Mýtus: Unicode – 16-bitové kódování Obvyklá kódování: UTF-32 každý znak – čtyři oktety UTF-16 – každý znak v každý znak v BMP (Basic Multilingual Plane) – dva oktety Ostatní znaky – čtyři oktety UTF-8 proměnná délka: 1-6 oktetů na znak v prvním oktetu posloupnosti určuje počet bitů zleva po první nulu celkový počet oktetů Jakýkoli byte, který nezačíná na 10xxxxxx je začátek zápisu dalšího znaku výhoda: znaky ASCII se v UTF-8 kódují stejně -: kompatibilita Výhoda pro češtinu: všechny znaky české abecedy se kódují jedním nebo dvěma oktety

Unicode (3)‏ Ve srovnání s 8-bitovými kódováními vznikají nové otázky: řetězcová ekvivalence vizuálně totožných znaků různých abeced (napr. A v latince, azbuce a alfabetě)? abecední řazení ? („LATIN CAPITAL LETTER A WITH ACUTE“ vs. „LATIN CAPITAL LETTER A WITH GRAVE“)‏

Jiná řešení „escape notation“ - znaky mimo kódování, které je k dispozici, mohou být nahrazeny dohodnutou posloupností znaků (různé pro různé systémy)‏ TeX: Ä \”{A} HTML Ä Ä transliterace

Konverze souborů Linux: Windows: iconv –f windows-1250 –t utf8 text-win > text-utf8 Windows: nouzové řešení: v MS Word otevřít jako soubor s kódovaným textem a uložit jako soubor s kódovaným textem

Práce s kódováním v Perlu (1)‏ Since Perl 5.8.0: Normal users of Perl should never care how Perl encodes any particular Unicode string (because the normal ways to get at the contents of a string with Unicode--via input and output--should always be via explicitly-defined I/O layers). Perl FAQ: How Do I Know Whether My String Is In Unicode? You shouldn't care. No, you really shouldn't. No, really.

Práce s kódováním v Perlu (2)‏ Pokud zdrojový soubor obsahuje jiné znaky než ASCII, je nutné určit jeho kódování, ve kterém je uložen: use encoding ’utf-8’; Při otevírání vstupních nebo výstupních souborů…, je nutné určit jejich kódování: open FH, ’>:encoding(iso-8859-2)’, ’myfile’; Na otevřených souborech: binmode STDOUT, ’:encoding(iso-8859-2) ’;

Prameny http://www.cs.tut.fi/~jkorpela/chars.html http://www.unicode.org http://www.cestina.cz/ http://search.cpan.org/~abergman/ponie- 2/perl/pod/perluniintro.pod

Datové formáty Rozmanitost datových zdrojů  rozmanitost datových formátů Ale stejně …

Negra #BOS 1 1 985275570 1 Mögen VMFIN 3.Pl.Pres.Konj HD 508 Puristen NN Masc.Nom.Pl.* NK 505 aller PIDAT *.Gen.Pl NK 500 Musikbereiche NN Masc.Gen.Pl.* NK 500 auch ADV -- MO 508 die ART Def.Fem.Akk.Sg NK 501 Nase NN Fem.Akk.Sg.* NK 501 rümpfen VVINF -- HD 506 , $, -- -- 0 die ART Def.Fem.Nom.Sg NK 507 Zukunft NN Fem.Nom.Sg.* NK 507 der ART Def.Fem.Gen.Sg NK 502 Musik NN Fem.Gen.Sg.* NK 502 liegt VVFIN 3.Sg.Pres.Ind HD 509 für APPR Akk AC 503 viele PIDAT *.Akk.Pl NK 503 junge ADJA Pos.*.Akk.Pl.St NK 503 Komponisten NN Masc.Akk.Pl.* NK 503 im APPRART Dat.Masc AC 504 Crossover-Stil NN Masc.Dat.Sg.* NK 504 . $. -- -- 0 #500 NP -- GR 505 #501 NP -- OA 506 #502 NP -- GR 507 #503 PP -- MO 509 #504 PP -- MO 509 #505 NP -- SB 508 #506 VP -- OC 508 #507 NP -- SB 509 #508 S -- MO 509 #509 S -- -- 0 #EOS 1

Penn Treebank ( (S (NP-SBJ The proposed changes)‏ (ADVP also)‏ (VP would (VP allow (S (NP-SBJ executives)‏ (VP to (VP report (NP (NP exercises)‏ (PP of (NP options)))‏ (ADVP-TMP (ADVP later)‏ and (ADVP less often)))))))‏ .))‏

PDT [#,Z#-------------,#7,AuxS,ln95049:125- p8s4A,origf=#7,ord=0,trlemma=#7,func=SENT,dord=0,sentord=0,reserve1 =TR_TREE]([politika_^(v?da),NNFS1-----A---- ,politika,ExD,origf=politika, AID=ln95049-125- p8s4Aw2,2,formtype=lower,tagMD_a=NNFS1-----A---- ,tagMD_b=NNFS1-----A---- ,politika_^(věda),politika_^(věda),ordorig=0,politika,???,SG,NA,tfa=T,DE NOM,memberof=NIL,dord=2,sentord=2,funcauto=DENOM,(286.0/14.0),# {custom4},trneg=A,reserve2=ExD]([cenový,AAFS1----1A---- ,Cenová,Atr,origf=Cenová,AID=ln95049-125- p8s4Aw1,1,formtype=cap,tagMD_a=AAFS1----1A----,tagMD_b=AAFS1-- --1A---- ,cenový,cenový,ordorig=2,cenový,???,SG,POS,tfa=T,RSTR,memberof=NI L,dord=1,sentord=1,funcauto=RSTR,(3028.0/67.1),#{custom4},trneg=A,re serve2=Atr]))‏

WordNet 00044113 04 n 05 entrance 0 entering 0 entry 0 ingress 0 incoming 0 012 @ 00043484 n 0000 + 01958650 v 0301 + 01958650 v 0201 + 01671620 v 0201 + 01958650 v 0101 ~ 00044454 n 0000 ~ 00044639 n 0000 ~ 00044745 n 0000 ~ 00044898 n 0000 ~ 00045146 n 0000 ~ 00046615 n 0000 ~ 01178182 n 0000 | the act of entering; "she made a grand entrance"

Valenční slovník extrahovaný ze SSJČ angažovat <v>hPc4-hTc2r{do},hPc4-hTc6r{v},hPc4-hTc2r{do}-hTc6r{v} angažovat se <v>hTc6r{v},hTc2r{do},hTc6r{p?i},hPTc4r{pro},hPTc4r{za} anglikanizovat <v>hPTc4 anglikanizovat se <v> animovat <v>hPTc4,hPc4,hPc4-hTc3r{k},hPc4-hTc4r{pro} antedatovat <v>hTc4 anticipovat <v>hTc4 antropomorfizovat <v>hTc4 anulovat <v>hTc4 apelovat <v>hPTc3r{ke},hPTc4r{na} aplaudovat <v>hPTc3 aplikovat <v>hTc4,hTc4r{na},hTc4-hTc4r{na},hTc4,hTc6r{v},hTc4-hTc6r{v} aportovat <v>hTc4,hPc3-hTc4 apretovat <v>hTc4 aprobovat <v>hPTc4 aprobovat se <v>hTc4r{na}

Valenční slovník VALLEX * HLÁSIT ~ ned: hlásit + ACT(1;obl) ADDR(3;opt) PAT(o+6;opt) EFF(4,jak,že;obl) LOC(;typ)‏ -synon: oznámit -example: hlásit někomu o něčem zprávu -reciprex: hlásili si navzájem o sob? nové zprávy -reciprocity: ACT-ADDR-PAT -use: prim -class: communication -freq: 8;9 + ACT(1;obl) ADDR(3;opt) PAT(na+4;opt) EFF(4,jak,?e;obl) LOC(;typ)‏ -synon: udat -example: hlásit na něj, že přechovává zakázané knihy -use: posun -freq: 3

Přechod na jednotný formát? XML!