Ero sivun ”Merkistö” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
p Käyttäjän 94.22.8.48 (keskustelu) muokkaukset kumottiin ja sivu palautettiin viimeisimpään käyttäjän Samulili tekemään versioon.
kielenhuoltoa, täsmennyksiä
Rivi 1:
'''Merkistö''' on [[tietotekniikka|tietotekniikassa]] ja [[tietoliikenne|tietoliikenteessä]] sopimus, joka määrittelee, miten eri bittiyhdistelmät ([[binääri]]luvut) tulkitaan eri [[merkki|merkeiksi]]. Merkistöjä on käytössä useita erilaisia.
 
Kaikki nykyaikaiset [[tietokone]]et käsittelevät dataa kahdeksanbittisinä tavuina, jolloin yhdellä tavulla voidaan esittää 256 eri arvoa. Tallennettaessa tekstiä tietokoneen muistissa oleva luku on määritelty merkiksi siten että jokaista erilaista koneen muistissa olevaa lukua vastaa yksi [[kirjain]] tai muu merkki (esimerkiksi 64 = @, 65 = A, 66 = B, 67 = C, jne). Yksi merkki voi viedä tilaa yhden tavun tai enemmän. Merkin käsite on selvä useimmissa [[luettelo kirjoitusjärjestelmistä|kirjoitusjärjestelmissä]]: [[suuraakkonen|isot]] ja pienet [[kirjainpienaakkonen|kirjaimetpienet]] kirjaimet ovat erillisiä merkkejä, samoin kaikki [[välimerkit]] – ja tietokonemerkistöistä puhuttaessa myös [[välilyönti]]. Merkin käsitteeseen ei liity sen ulkonäkö eli merkin [[glyyfi]], joka voi ollavaihdella hyvinkin erilainen erimelkoisesti [[kirjasin|kirjasimillakirjasimen]] mukaan.
 
Kaikki nykyaikaiset [[tietokone]]et käsittelevät dataa kahdeksanbittisinä [[tavu (tietotekniikka)|tavuina]], jolloin yhdellä tavulla voidaan esittää 256 arvoa. Tietokoneen muistissa oleva luku määrittyy merkiksi, niin että kutakin lukua vastaa tietty [[kirjain]] tai muu merkki (esimerkiksi 64 = @, 65 = A, 66 = B, 67 = C). Yksi merkki vie tilaa vähintään yhden tavun ja laajoissa merkistöissä ehkä enemmänkin.
 
== Historiaa ==
 
Ensimmäisinä merkistöinä voidaan pitää [[kaukokirjoitin]]laitteissa jo [[1800-luku|1800-luvulla]] käytettyjä "[[bittisyys|5-bittisiä]]" [[Baudot-koodi]]stoja.

=== ASCIIsta ISO 8859 -merkistöihin ===

[[1960-luku|1960-luvulla]] kehitetty 7-bittinen [[ASCII]] on Baudot-merkistöjen melko suora perillinen. Yhteistä vanhoille merkistöille on yleensä se, että merkit on valittu vain tiettyä kieltä silmällä pitäenvarten: esimerkiksi [[Yhdysvallat|Yhdysvalloissa]] kehitetty ASCII soveltuu melko hyvin amerikanenglannin kirjoittamiseen, mutta muun muassa suomen, ruotsin ja saksan kielissä tarvittavia Ä- ja Ö-kirjaimia ei siinä ole. Tämän vuoksi merkistöistä kehitettiin useita erilaisia rinnakkaismuotoja eri maiden tarpeita varten: esimerkiksi. Suomessa käytettiin vielä [[1980-luku|1980-luvulla]] yleisesti ASCII:nASCIIn SF7-muunnosta, jossa tietyteräät erikoismerkit oli korvattu suomensuomessa ja ruotsin kieltenruotsissa vaatimillatarvittavilla kirjaimilla.
 
Koska ASCII olion 7-bittinen ja tietokoneet käyttivätkäyttävät yleisesti 8-bittistä tavua, halusivat monet tietokonevalmistajat tarjotatarjosivat käyttöön laajempia merkistöjä, joissa ylimääräiseksi jäänyt bitti otettiin käyttöön. Tällä tavoin mahdollistenASCIIn mahdollistamien merkkien määrä kaksinkertaistui 128:sta 256:een. Näissä merkistöissä 128 ensimmäistä merkkiä vastaavatvastasivat yleensä ASCII:taASCIIta, jamutta ylemmätloput sisälsivätmerkkipaikat yleensävoitiin vaihtelevanomistaa valikoimanesimerkiksi muitamuiden merkkejä,kielten muuntarvitsemille muassa ei-englanninkielissä tekstissä tarvittavia kirjaimiakirjaimille. Nämä merkistönlaajennetut jatko-osatmerkistöt olivat kuitenkin olivat eri tietokonevalmistajilla hyvin erilaisia.
 
Yhtenäisten 8-bittisten merkistöjen kehittämiseksi luotiin ISO 8859 -standardi vuonna [[1985]], jakehitettiin seISO 8859 -standardi, joka määritteli aluksi neljä laajennettua eurooppalaista merkistöä. 256Kaikkia merkineurooppalaistenkaan tilaankielten eivätvaatimia mahdukirjaimia edesei kaikkienkuitenkaan eurooppalaistenvoida kieltensisällyttää vaatimat kirjaimet256 merkkiin, joten eri alueillekielet oli luotavajaoteltava alueittain ryhmiin, joista kullekin luotiin omatoma merkistönsämerkistö.
 
Merkistöjen eroista johtuu, että katseltaessajos luetaan tekstitiedostoa, joka on tallennettu eri merkistöllä, osa merkeistä korvautuu toisilla. Tällöin tekstiä voi olla vaikea tai mahdoton ymmärtää. Tiedostoja voidaan muuntaa toisiin merkistöihin, mutta tällöin osa merkeistä voi hävitä, jos kohdemerkistössä ei ole käytössä samoja merkkejä kuin alkuperäisessä tekstissä, osa merkeistä voi hävitä. Kaikki ISO 8859 -merkistöt ovat kuitenkin yhteensopivia ASCII:nASCIIn kanssa, joten numerot, kirjaimet AA–Z sekä tavallisimmat väli-Z ja erikoismerkit pysyvät aina samoina.
 
==ISO 8859 -merkistöt==
ISO 8859 on ryhmä [[ISO]]-standardointielimen määrittelemiä merkistöjä. Merkistöjen numerointi on juokseva, eikä uudempi siten ole välttämättä parempi tai korvaava aikaisemmalla merkistölle. Merkistön koko nimi sisältää standardin nimen, juoksevan numeron ja hyväksymisvuoden, esimerkiksi: ''ISO/IEC 8859-15:1999''.
 
* Länsi-Eurooppaa varten kehitettiinmääriteltiin [[ISO 8859-1]] eli latin1epävirallisesti Latin-1 (koska se perustuu [[latinalaiset aakkoset|latinalaisiin aakkosiin]]), joka sisältää lähes kaikki länsieurooppalaisten ja pohjoismaisten kielten merkit. Siitä kuitenkin puuttuvat esimerkiksi [[suomen kieli|suomessa]] lainasanoissa käytettävät Š  ja  Ž, [[ranskan kieli|ranskan]]  Œ  ja  Ÿ ja [[katalaani]]n  Ŀ. Tämä merkistöLatin-1 on kuitenkin usein oletuksenaoletusarvoisesti käytössä, esimerkiksi [[HTML]]-kielessä, jos muuta ei ole määritelty.
 
* Itä-EurooppaaEuroopan kieliä varten tehtiinmääriteltiin [[ISO 8859-2]] eli latin2Latin-2, seuraaviajolla kieliävoi varten:kirjoittaa [[tšekin kieli|tšekkitšekkiä]], [[unkarin kieli|unkariunkaria]], [[romanian kieli|romaniaromaniaa]], [[puolan kieli|puolapuolaa]], [[kroatian kieli|kroatiakroatiaa]], [[slovakin kieli|slovakkislovakkia]], ja [[slovenian kieli|sloveniasloveniaa]], sekä [[serbian kieli|serbiaserbiaa]] (latinalaisin aakkosin). Tässä merkistössä [[saksan kieli|saksansaksassa]] ja suomensuomessa tarvitsemattarvittavat merkitÄ, äöüß Ö, Ü ja ß sijoitettiin samoihin paikkoihin kuin latin1Latin-1:ssä, joten silläkinperiaatteessa voise kirjoittaa yhteensopivastisoveltuu myös saksaasaksan ja suomeasuomen kirjoittamiseen (mutta ei ruotsin, koska merkistöstä puuttuu Å).
 
* Etelä-Eurooppaa varten tehtiinmääriteltiin [[ISO 8859-3]] eli latin3Latin-3, jolla kirjoitetaanvoi yleisestikirjoittaa [[esperanto]]a sekä, [[maltan kieli|maltaa]], aiemmin myösja [[turkin kieli|turkkia]]. Tämä merkistö on kuitenkin paljolti jäänyt pois käytöstä.
 
* Pohjois-Eurooppaa varten tehtiinmääriteltiin [[ISO 8859-4]] eli latin4Latin-4, jolla voi kirjoittaa [[viron kieli|viroa]], [[latvian kieli|latviaa]], [[liettuan kieli|liettuaa]] ja [[grönlannin kieli|grönlantia]]. Se soveltuu myös muiden pohjoismaisten valtakielten paitsi [[islannin kieli|islannin]] kirjoittamiseen (ja suomen kirjoittamiseen oikeastaan paremminkin kuin Latin-1, koska siihen sisältyvät myös Š ja Ž). Kirjainten Å, Ä ja Ö osalta Latin-4 on täysin yhteensopiva Latin-1:n kanssa.
 
* Kyrillistä aakkostoa varten tehtiinmääriteltiin [[ISO 8859-5]], jolla voi kirjoittaa [[bulgarian kieli|bulgariaa]], [[valkovenäjän kieli|valkovenäjää]], [[makedonian kieli|makedoniaa]], [[venäjän kieli|venäjää]], [[serbian kieli|serbiaa]] (kyrillisin aakkosin) sekä [[ukrainan kieli|ukrainaa]] ennen vuoden [[1990]] oikeinkirjoituksen uudistusta. Tämä merkistö ei ole kuitenkaan saavuttanut merkittävää suosiota, javaan käytetympiä merkistöjä ovat [[KOI8-R|KOI8]]-muunnelmat ja [[Windows-1251|Windows koodisivu 1251]].
 
* [[arabian kieli|Arabiaa]] varten kehitettiinmääriteltiin [[ISO 8859-6]], joka sisältää vain arabian perusaakkoston, eli sillä ei voi kirjoittaa [[persian kieli|persiaa]] tai [[urdun kieli|urdua]], vaikka nämä käyttävätkin pääosin samoja kirjaimia kuin arabia.
 
* [[kreikan kieli|KreikkaaNykykreikkaa]] (nykykreikka) varten kehitettiinmääriteltiin [[ISO 8859-7]].
 
* [[Heprea]]a varten tehtiinmääriteltiin [[ISO 8859-8]] (joka sisältää vain konsonanttimerkit).
 
* [[ISO 8859-9]] eli latin5Latin-5 on lähes sama kuin latin1Latin-1, mutta tässä [[islannin kieli|islannin]] kirjaimet ðýþÐ, Ý ja Þ on korvattu [[turkin kieli|turkkilaisilla]] kirjaimilla.
 
* [[ISO 8859-10]] eli latin6Latin-6 on uudelleenjärjestelty latin4Latin-4, johon on otettu myös edellä mainitut islannin kirjaimet. Sitä voi käyttää Pohjoismaiden ja Baltian kielten lisäksi joidenkin [[saamen kieli|saamen kielten]] ja [[grönlannin kieli|grönlannin]] kirjoittamiseen. Kirjainten Å, Ä ja Ö osalta se on yhteensopiva Latin-1:n kanssa.
 
* [[ISO 8859-11]] on tarkoitettumääritelty [[thai]]-kieltä varten.
 
* ISO 8859-12 on hylätty ehdotus, joka lopulta korvattiin ISO 8859-14:llä.
 
* [[ISO 8859-13]] eli latin7Latin-7 on parannettu balttilainen järjestely.
 
* [[ISO 8859-14]] eli latin8Latin-8 lisääon loputLatin-1:n muunnelma, johon on lisätty [[gaelin kieli|gaelin]] ja [[walesin kieli|walesin]] tarvitsemattarvitsemia kirjaimet latin1:eenkirjaimia, jotta sillä voisi kirjoittaa kaikkia [[kelttiläiset kielet|kelttiläisiä kieliä]].
 
* [[ISO 8859-15]] eli latin9Latin-9 tai(joskus latin0myös Latin-0) on muunneltuLatin-1:n versio latin1:stämuunnelma, siitäjohon on poistettueräiden muutamiaharvinaisten merkkejä ja niidenerikoismerkkien tilalle onsijoitettu laitettualkuperäisestä unohtuneetunohtuneita ranskan ja suomen kielenkirjaimia kirjaimet,(Œ ja Ÿ sekä Š ja Ž). Lisäksi valuuttamerkki ¤ on korvattu [[euro]]n merkillä €.
 
* Uusin [[ISO 8859-16]] on alun perin tehty [[romanian kieli|romanian kielen]] oikeinkirjoitusta varten, mutta se soveltuu myös moniin Etelä- ja Itä-Euroopan kieliin ja sisältää lisäksi euron symbolin. Tällä merkistöllä voidaan kirjoittaa myös suomea, saksaa ja ranskaa, koska merkistöstä on pudotettu pois useita symboleja ja korvattu niitä kirjaimilla.
 
Uusia ehdotelmiamerkistöjä ISO 8859 -perheeseen ei ole enää käsittelyssätarkoitus kehittää, vaan toivotaan,sen ettäsijaan toivotaan [[Unicode]]n korvaisivähitellen hiljalleenkorvaavan muut merkistöt.
 
==Muut kahdeksanbittiset merkistöt==
ISO-merkistöjen lisäksi on olemassa useita kansallisia ja epävirallisia merkistöjä. Näistä suosituimpia ovat KOI-8-muunnelmat, jotka ovat käytössä Itä-Euroopassa, kuten [[KOI8-R]] [[Venäjä]]llä, KOI8-U [[Ukraina]]ssa ja [[Bulgaria]]n MIK. Myös [[vietnamin kieli|vietnamin]] [[VISCII]] ja intialaisten kielten [[ISCII]] ovat tällaisia kahdeksanbittisiä merkistöjä.
 
Tämän lisäksi useilla valmistajilla on omatomia merkistönsäkielikohtaisia eri kieliä vartenmerkistöjään: Microsoftilla DOS- ja Windows-koodisivut, Applella [[MacRoman]] ja [[MacCyrillic]], HP:lla [[HP-Roman8]] jne.
 
Suosittu [[Microsoft Windows]] käyttää seuraavia merkistöjä (Windows-termistön mukaan ''koodisivuja'' Windows-terminologiassa), joista osa on standardin mukaisia, osa laajennettujahieman muunnettuja ja osa omia:
*1250 itäeurooppalainen (Latin 2)
*[[Windows-1251|1251 kyrillinen]]
*[[Windows-1252|1252 länsimainen]] (Latin-1:n muunnelma, jota virheellisesti saatetaan joskus kutsua Latin-1:ksi)
*1253 kreikkalainen
*1254 turkkilainen (Latin 5)
Rivi 72 ⟶ 78:
 
==Monitavuiset merkistöt==
Kahdeksanbittinen koodaus ei riitä [[Itä-Aasia]]ssan kahdeksanbittinen koodaus ei riittänyt milläänkielissä tarvittavien merkkien koodaukseenesittämiseen, vaanjoten siellä olion kehitettäväjouduttu kehittämään oma tekniikka, jotta sikäläisiä kieliä ylipäätään voisi kirjoittaa tietokoneella. Nämä merkistöt sisältävät [[ASCII]]-merkkien lisäksi yleiset paikallisesti tarvittavat merkit, senmutta sijaaneivät muiden Itä-Aasian kielten merkkejä niissä ei ole eikä myöskääntai eurooppalaisten kielten aksentteja tai esimerkiksi suomen ääkkösiäerikoismerkkejä.
 
Ensimmäinen tällainen merkistö oli japanilainen [[JIS X 0208]], joka otettiin käyttöön jo [[1976]]. JIS X 0208 oli ensimmäinen ''monitavuinen merkistö'', jossa yhden merkin tallentamiseen käytetään useita tavuja tietokoneen muistissa. JIS X koostuu 94 × 94 merkin ruudukosta, johon voidaan määrittää 8836 merkkiä. Käytännössä merkit voidaan ''koodata''koodataan kahdella peräkkäisellä [[ASCII]]n näkyvällä merkillä. Merkistöstä on useita versioita, joista [[JIS X 0212]] on uusin.
 
Monitavuisen merkistön käsittely ja tiedon välittäminen voi olla vaikeaa, useillakun ohjelmillaohjelmat ja protokollilla, jotkaprotokollat olettavat käytettäväksi kahdeksanbittistä merkistöä,. monitavuistenMonitavuisten merkistöjen välittämiseenvälittämiseksi on kehitetty ''koodauksia'' eri tarkoituksiin.:
 
* [[EUC]] - (''Extended Unix Code'' -) on koodaus, joka mahdollistaa samanaikaisen ASCII-merkistön käyttämisen, esimerkiksi [[Unix]]-komennoissa ja tiedostonimissä samaan aikaan monitavuisen merkistön kanssa.
* Japanilaisen ASCII-yhtiön kehittämä [[Shift-JIS]] on koodaus, joka siirtää JIS:n [[katakana]]-merkistön 8-bittiselle alueelle.
* [[ISO-2022]] määrittelee sarjan koodeja, joilla merkistöä voi vaihtaa kesken tekstin ja siten käyttää sekaisinlomittain eri merkistöjä ja merkkejä.
 
Useissa Itä-Aasian maissa seurattiin Japanin esimerkkiä ja kehitettiin oma 94 × 94 -merkistö vastaavalla tekniikalla. Tällaisia ovat
Rivi 94 ⟶ 100:
==Unicode==
{{Pääartikkeli|[[Unicode]]}}
Koska merkistöjen runsaudesta huolimatta millään niistä ei voinut kirjoittaa montakaan kieltä yhteen tekstitiedostoon, kehitettiin monikielinen ratkaisu [[Unicode]], jonka versio  4.1 sisältää noin 100 000  merkkiä. Niillä voidaan kirjoittaa suurinta osaa nykyään puhuttavista [[kielet|kielistä]]. Unicoden on tarkoitus sisältää kaikki merkit, jotka ovat sisältyneet toisiin merkistöihin, jolloinjotta muunnos Unicodeen onolisi aina mahdollista tehdä. Kun ohjelmistotuki Unicodelle laajenee, voidaan suurin osa muista merkistöistä unohtaavoidaan hylätä. Kuitenkaan [[ideogrammi|ideogrammeja]] käyttäville kielille Unicode ei ole pystynyt tarjoamaan täyttä tukea, minkä vuoksi onkin yritetty kehittää kattavampia järjestelmiä, kuten TRON, UTF-2000 ja [[Giga Character Set]].
 
Unicode-standardi ei määrittele yksittäiselle merkille tiettyä esitysmuotoa, vaan kiinteän koodiarvon. Standardissa on useita koodaustapoja, joista yleisimmät ovat vaihtelevatavuiset [[UTF-7]]-, [[UTF-8]]- ja [[UTF-16]]- sekä kiinteätavuiset [[UCS-2]]- ja [[UCS-4]]-koodaukset.
 
[[Luokka:Standardit]]
[[Luokka:Merkistöt|*]]