Ero sivun ”UTF-8” versioiden välillä

Siirry navigaatioon Siirry hakuun
306 merkkiä lisätty ,  31. heinäkuuta 2006
ei muokkausyhteenvetoa
(→‎Tekstitiedostot: latin1 eikä latin)
Ei muokkausyhteenvetoa
Rivi 3: Rivi 3:




'''Unicode''' on standardi, joka pyrkii määrittelemään kaikille maailman merkeille omat merkkikoodinsa (UCS). Tarkoituksena on korvata tähän saakka käytössä olleet keskenään kilpailevat merkistöt ja koodisivut, joista kukin on voinut esittää vain osan tarvittavista merkeistä. Esimerkiksi suosittu IRC-client mIRC käyttää suomalaisilla koneilla merkistöä Microsoft CP1252, kun suurin osa Linux-koneista puolestaan käyttää merkistöä ISO-8859-1 (Latin-1) ja Finnish-HOWTO:n mukaan säädetyt Linux-koneet puolestaan merkistöä ISO-8859-15. Merkistöissä on yhteneväisyyksiä ja esim. tavalliset ääkköset ovat kaikissa samoilla merkkikoodeilla, mutta jo euromerkki näkyy eri merkistöillä eri tavoilla. Unicode ratkaisee ongelman ottamalla käyttöön 21-bittisen merkkiavaruuden, johon mahtuu siis peräti kaksi miljoonaa merkkiä, joista usean merkin yhdistelmillä saadaan vielä lisää. Tämän katsotaan riittävän ikuisesti.
'''Unicode''' on standardi, joka pyrkii määrittelemään kaikille maailman merkeille omat merkkikoodinsa (UCS). Tarkoituksena on korvata tähän saakka käytössä olleet keskenään kilpailevat merkistöt ja koodisivut, joista kukin on voinut esittää vain osan tarvittavista merkeistä. Esimerkiksi suosittu IRC-client mIRC käyttää suomalaisilla koneilla merkistöä Microsoft CP1252, kun suurin osa Linux-koneista puolestaan käyttää merkistöä ISO-8859-1 (Latin-1) ja Finnish-HOWTO:n mukaan säädetyt Linux-koneet puolestaan merkistöä ISO-8859-15 (Latin-9). Merkistöissä on yhteneväisyyksiä ja esim. tavalliset ääkköset ovat kaikissa samoilla merkkikoodeilla, mutta jo euromerkki näkyy eri merkistöillä eri tavoilla. Unicode ratkaisee ongelman ottamalla käyttöön merkkiavaruuden 0–$10FFFF, johon mahtuu siis peräti 1 114 111 merkkiä.


Unicode-merkkejä voidaan koodata useilla eri tavoilla. UTF-8 on unix-puolella (Linux) tärkein Unicode-koodaustapa ja se on jo muutamissa distroissa vakiona käytössä. Tässä yksi merkki on kooltaan 1-6 oktettia (tavua), siten että ASCII-merkit (aakkoset, numerot, yms, mutta ei esim. ääkköset) ovat sellaisinaan ja näin saavutetaan ASCII-yhteensopivuus.
Unicode-merkkejä voidaan koodata useilla eri tavoilla. UTF-8 on Unix-tyyppisissä käyttöjärjestelmissä (esim. Linux) tärkein Unicoden koodaustapa, ja se on jo muutamissa distroissa vakiona käytössä. UTF-8-koodauksessa yksi merkki vie tallennustilaa 1–4 oktettia (tavua), siten että ASCII-merkit (aakkoset, numerot ym., mutta ei esim. ääkköset) esitetään sellaisinaan yhtenä tavuna. Näin saavutetaan ASCII-yhteensopivuus, mikä on tärkeää, koska Unix- ja Linux-koneissa käytetään paljon ASCII-muodossa olevia asetustiedostoja ja käynnistysskriptejä. (UTF-8:lla voisi periaatteessa koodata merkkiavaruuden 0–$7FFFFFFF käyttäen 1–6 tavua. Käytännössä Unicoden koko merkkiavaruuden koodaamiseen tarvitaan enintään 4 tavua.)


Muita koodaustapoja ovat UCS-2, UCS-4, UTF-7, UTF-16, UTF-32. Usein kuulee kysyttävän että eikö kannattaisi samantien siirtyä käyttämään UTF-32:a, jotta merkit eivät loppuisi kesken. Näin ei käy, vaan kaikilla koodaustavoilla, lukuun ottamatta UCS-2:a, voidaan esittää kaikki kaksi miljoonaa saatavilla olevaa koodia. UCS-2 kykenee vain ensimmäisten 65 tuhannen koodin esittämiseen.
Muita koodaustapoja ovat UCS-2, UCS-4, UTF-7, UTF-16, UTF-32. Usein kuulee kysyttävän, että eikö kannattaisi samantien siirtyä käyttämään UTF-32:a, jotta merkit eivät loppuisi kesken. Näin ei käy, vaan kaikilla koodaustavoilla, lukuun ottamatta UCS-2:ta, voidaan esittää kaikki Unicoden noin 1,1 miljoonaa merkkiä. Vanha UCS-2 kykenee vain ensimmäisten 65535 koodin esittämiseen.


UTF-8 on nykyisin monien jakeluiden, esimerkiksi Ubuntun, oletusmerkistö käyttöjärjestelmän tiedostonimien koodaukseen ja tekstitiedostojen muodoksi.
UTF-8 on nykyisin monien jakeluiden, esimerkiksi Ubuntun, oletusmerkistö käyttöjärjestelmän tiedostonimien koodaukseen ja tekstitiedostojen muodoksi.
Rivi 14: Rivi 14:


Eräs tapa tekstitiedoston muuttamiseen UTF-8-koodaukseen on tietenkin avata se johonkin tekstieditoriin ja tallentaa tämän jälkeen eri koodauksella. Nopeampaa saattaa kuitenkin olla komentorivin ja ''recode'' ohjelman käyttö:
Eräs tapa tekstitiedoston muuttamiseen UTF-8-koodaukseen on tietenkin avata se johonkin tekstieditoriin ja tallentaa tämän jälkeen eri koodauksella. Nopeampaa saattaa kuitenkin olla komentorivin ja ''recode'' ohjelman käyttö:
  recode latin1..UTF-8 tiedosto.txt
  recode latin9..UTF-8 tiedosto.txt


== Ohjelmat ==
== Ohjelmat ==


Eräät, varsinkin vanhemmat, ohjelmat eivät hallitse UTF-8 -merkistön käyttöä. Tällaisia ovat mm. uutistenlukija [[slrn]] ja vanhemmat versiot [[Nano]]sta. Slrn tosin osaa näyttää UTF-8:lla koodatut kirjoitukset oikein siinä määrin kun niissä olevat merkit sopivat johonkin kahdeksanbittiseen merkistöön, mutta ei toimi mikäli pääteikkunassakin on UTF-8 käytössä.
Eräät, varsinkin vanhemmat, ohjelmat eivät hallitse UTF-8 -merkistökoodauksen käyttöä. Tällaisia ovat mm. uutistenlukija [[slrn]] ja vanhemmat versiot [[Nano]]sta. Slrn tosin osaa näyttää UTF-8:lla koodatut kirjoitukset oikein siinä määrin kun niissä olevat merkit sopivat johonkin kahdeksanbittiseen merkistöön, mutta ei toimi mikäli pääteikkunassakin on UTF-8 käytössä.


Tällaista ohjelmaa voi käyttää luit-ohjelman avulla esimerkiksi näin.
Tällaista ohjelmaa voi käyttää luit-ohjelman avulla esimerkiksi näin.
Rekisteröitymätön käyttäjä

Navigointivalikko