UTF-8/fi

From Free Pascal wiki
Jump to navigationJump to search

English (en) suomi (fi) français (fr) русский (ru)

UTF-8 (8-bit UCS/Unicode Transformation Format) on muuttuvan pituinen Unicoden merkistön koodaus. Unicode merkit välillä U+0000 - U+007F ovat koodattu yksinkertaisesti tavuihin 00h - 7Fh. Tämä tarkoittaa, että vain 7-bittisiä ASCII- merkkejä sisältäviä tiedostoja tai merkkijonoilla on täysin sama koodaus sekä ASCII:na että UTF-8:ssa.

Kaikki Unicode-merkit joiden koodaus on > (suurempi kuin) U + 007F on koodattu useiden tavujen sarjaksi, joista kullakin on kaksi merkittävintä bittiä asetettu ykköseksi. Yhden merkin joka mahtuu tavuun ei ole toisen merkin pitemmän tavujärjestyksen sisällä. Tämä mahdollistaa helpot haun alimerkkijonoissa. Monitavuisen sekvenssin ensimmäinen tavu, joka edustaa ei-ASCII-merkkiä, on aina välillä C0h-FDh ja se ilmaisee, kuinka monta tavua tätä merkkiä seuraa. Kaikki tarvittavat lisätavut monitavuisessa sekvenssissä ovat alueella 80h - BFh. Tämä mahdollistaa helpon resynkronoinnin ja automaattisuuden.

UTF-8 tavusekvenssit
  Koodipisteet 1. tavu 2. tavu 3. tavu 4. tavu Monitavuisen sekvenssin ensimmäisen tavun merkittävimmät bitit
  U+0000..U+007F   00..7F   0   ASCII  
  U+0080..U+07FF   C2..DF   80..BF   110   - UTF-8 Latin characters
  U+0800..U+0FFF   E0   A0..BF   80..BF   1110
  U+1000..U+FFFF   E1..EF   80..BF   80..BF   1110   - UTF-8_subscripts_and_superscripts
  U+10000..U+3FFFF   F0   90..BF   80..BF   80..BF   11110
  U+40000..U+FFFFF   F1..F3   80..BF   80..BF   80..BF   11110
  U+100000..U+10FFFF   F4   80..BF   80..BF   80..BF   11110

UTF8 funktiot

FreePascal

System unit sisältää joitain perustoimintoja:

  • UnicodeToUtf8
  • Utf8ToUnicode
  • UTF8Encode
  • UTF8Decode
  • AnsiToUtf8
  • Utf8ToAnsi


Lazarus

Lazarus sisältää myös UTF8-funktioita. Lisätietoja on kohdassa LCL Unicode Support

Katso myös