UTF-8

UTF-8 (8-bit Unicode Transformation Format) is een manier om Unicode/ISO 10646-tekens op te slaan als een stroom van bytes, een zogenaamde tekencodering. Alternatieven zijn UTF-16 en UTF-32.

UTF-8 is een tekencodering met variabele lengte: niet elk teken gebruikt evenveel bytes. Afhankelijk van het teken worden 1 tot 4 bytes gebruikt. Voor de 128 ASCII-tekens is slechts één byte nodig, waarvan de numerieke waarde gelijk is aan de ASCII-code. Voor alle andere tekens zijn twee of meer bytes nodig.

Vóór de komst van Unicode gebruikten veel landen een uitbreiding op de ASCII-tekenset met taalspecifieke tekens in de posities 128-255.

Beschrijving

UTF-8 is gestandaardiseerd als RFC 3629[1] (UTF-8, a transformation format of ISO 10646).

Samenvattend worden de Unicodetekens in groepen bits ingedeeld die worden verdeeld over de lage bits van de UTF-8-bytes.

De tekens U+0000..U+007F, de ASCII-tekens, kunnen direct worden gecodeerd in een byte met de hoogste bit 0. Voor alle andere tekens zijn 2 tot 4 bytes nodig. Alle bytes voor zulke tekens hebben de hoogste bit 1, zodat verwarring met de ASCII-tekens wordt voorkomen.

In dat laatste geval zijn bij de eerste byte de hoogste twee bits gelijk aan '11' en bij de volgende byte(s) '10'. Hierdoor kan altijd de eerste byte van een in UTF-8 gecodeerd teken worden herkend. De positie van de hoogste '0' in de eerste byte geeft aan uit hoeveel bytes de code is samengesteld.

Codegebied
hexadecimaal
UTF-32
binair
UTF-16
binair
UTF-8
binair
Opmerking over de UTF-8-code
U+0000..U+007F 00000000 00000000
00000000 0aaaaaaa
00000000 0aaaaaaa 0aaaaaaa ASCII-equivalenten; byte begint met nulbit
U+0080..U+07FF 00000000 00000000
00000bbb aaaaaaaa
00000bbb aaaaaaaa 110bbbaa 10aaaaaa eerste byte begint met 110, tweede met 10
U+0800..U+D7FF en U+E000..U+FFFF 00000000 00000000
bbbbbbbb aaaaaaaa
bbbbbbbb aaaaaaaa 1110bbbb 10bbbbaa 10aaaaaa eerste byte begint met 1110, volgende met 10
U+010000..U+10FFFF
(1.048.576 supplementaire codepunten)
00000000 000ccccc
bbbbbbbb aaaaaaaa
110110dd ddbbbbbb
110111bb aaaaaaaa
11110ccc 10ccbbbb 10bbbbaa 10aaaaaa eerste byte begint met 11110, volgende met 10,
dddd = ccccc − 1

De codes U+D800..U+DFFF zijn uitgezonderd van het codegebied U+0800..U+FFFF, om in UTF-16 codes van twee bytes te kunnen onderscheiden van de eerste of laatste twee bytes van codes van vier bytes (de eerste van de twee bytes is niet van de vorm 110110dd of 110111bb). Ze worden wel gebruikt om zogenaamde surrogaatparen van vier bytes samen te stellen, maar die zijn niet in Unicode gedefinieerd.

Zoals blijkt uit de niet-overlappende codegebieden in de linker kolom mag bijvoorbeeld U+007F (binair 01111111) in UTF-8 alleen als 7F gecodeerd worden en niet als C1 BF (wat het volgens het schema 110bbbaa 10aaaaaa zou zijn). Het komt erop neer dat alleen de kortste vorm is toegestaan.

Toegestane karakters

Volgens de oorspronkelijke specificatie kon een UTF-8-code uit maximaal zes bytes bestaan. Om compatibiliteit met UTF-16 te garanderen werd dit verkort tot maximaal vier bytes en werd U+10FFFF het hoogste toegestane Unicodeteken.

Een omzetter voor UTF-8-code dient tekst met ongeldige codes te verwerpen vanwege beveiligingsrisico's.[2]

Voordelen

  • In ASCII gecodeerde tekst is ongewijzigd geldig als UTF-8-tekst.
  • Doordat de letters uit het Latijnse alfabet slechts één byte in beslag nemen, is UTF-8 voor westerse talen compacter dan het eenvoudigere UTF-16. Textbestanden met opmaaktaal, zoals HTML of XML (in het bijzonder bestanden in het docx- of odf-formaat), bevatten daarnaast veel codewoorden in ASCII, ook voor bestanden in niet-westerse talen.
  • UTF-8 is onafhankelijk van de endianness van de computer (in tegenstelling tot UTF-16) en daardoor geschikter als uitwisselingsformaat.
  • Het is veel eenvoudiger Unixsystemen compatibel te maken met UTF-8 dan met UTF-16, bijvoorbeeld doordat programma-API's voor de programmeertaal C ongewijzigd kunnen blijven (zowel in ASCII als in UTF-8 kan een tekenreeks worden behandeld als een nul-getermineerde char*; een UTF-16-tekenreeks bevat gewoonlijk veel nulbytes en wordt meestal behandeld als een short*).
  • UTF-8-tekenreeksen kunnen worden gesorteerd alsof het bytereeksen zijn.
  • Woordbreekroutines voor ASCII werken met UTF-8 correct zonder wijziging.
  • Bestandsnaamroutines voor ASCII werken met UTF-8 correct (alle speciale tekens in bestandsnamen en paden zijn ASCII-tekens)
  • Doordat de eerste byte aangeeft in hoeveel bytes een teken gecodeerd is, is de variabele lengte van de tekens in UTF-8 gemakkelijk te decoderen. Doordat bovendien vervolgbytes als zodanig onderscheidbaar zijn, kan een teken niet als deelreeks van een ander teken gecodeerd zijn, zodat zoekacties geen onjuiste resultaten kunnen opleveren, ook al wordt niet vanaf het begin van de tekst gezocht.

Nadelen

  • De variabele lengte maakt het in veel programmeertalen lastiger direct met tekenreeksen te werken omdat het ne teken niet altijd meer correspondeert met de ne byte. Dit kan worden opgelost door hiervoor de juiste bibliotheken te gebruiken. Bijvoorbeeld in Flash is het commando System.useCodepage=true nodig om UTF-8 te kunnen gebruiken. Dit probleem is echter ook van toepassing bij codering in UTF-16, dat eveneens variabele breedte heeft.
  • Veel Oost-Aziatische tekens gebruiken drie bytes in UTF-8, terwijl ze slechts twee bytes zouden gebruiken in UTF-16. Hierdoor worden tekstbestanden in deze talen groter dan in UTF-16. Belangrijke documentformaten zoals html, docx of odt bestaan echter voor een groot deel uit XML (achtige) opmaak in ASCII die in UTF-8 juist maar één byte nodig heeft. Ook verdwijnen verschillen in codering na compressie. In de praktijk is ook voor documenten in Oost-Aziatische talen het verschil in grootte tussen UTF-16 en UTF-8 daarom meestal minimaal.
  • Windows en de programmeertalen Java en C# zijn ingericht op het gebruik van tekenreeksen in UTF-16 in plaats van UTF-8.

Gebruik

UTF-8 werd in 1993 geïntroduceerd. Rond het jaar 2000 stapten de op Linux gebaseerde distributies over naar UTF-8 als standaard voor alle tekstbestanden (inclusief scriptbestanden). Aan de bestanden zelf is niet te zien of deze in UTF-8 gecodeerd zijn. Dat blijkt pas bij het bekijken van de tekst.

Microsoft was eerder al op UTF-16 overgegaan, maar heeft ook UTF-8 toegevoegd. Indien in Microsoft Windows platte tekst in UTF-8 wordt opgeslagen, voegen Microsoftprogramma's de drie bytes 0xEF, 0xBB en 0xBF, de UTF-8-code voor U+FEFF, aan het begin van het bestand toe, het "Byte Order Mark", of kortweg "BOM", dat echter niet altijd door andere programma's goed herkend wordt.

Webpagina's kunnen ook UTF-8 gebruiken. In de broncode van de webpagina's wordt dan aangegeven dat het om UTF-8-code gaat. De meeste websitemakers geven de voorkeur aan UTF-8, omdat dit bij andere talen minder onduidelijkheden geeft dan de ASCII- of ANSI-tekenset. Wikipedia gebruikt bijvoorbeeld UTF-8 voor alle tekst en ook in e-mail wordt steeds vaker UTF-8 gebruikt.[3]

  • UTF-8-tabellen - UTF-8-tekens in een aantal variëteiten getoond (gebruik het uitklapmenu op de derde regel om een blok te selecteren)

Read other articles:

Grünwald. Grünwald adalah kota yang terletak di distrik München di Bayern, Jerman. Kota Grünwald memiliki luas sebesar 7.63 km². Grünwald pada tahun 2006, memiliki penduduk sebanyak 10.947 jiwa. lbsKota dan kotamadya di distrik München Aschheim Aying Baierbrunn Brunnthal Feldkirchen Garching bei München Gräfelfing Grasbrunn Grünwald Haar Hohenbrunn Höhenkirchen-Siegertsbrunn Ismaning Kirchheim bei München Neubiberg Neuried Oberhaching Oberschleißheim Ottobrunn Planegg Pullac...

 

Untuk fungsi θ lainnya, lihat Fungsi theta (disambiguasi). Fungsi theta asli Jacobi θ1 dengan u = iπz dan dengan nome q = eiπτ = 0.1e0.1iπ. Konvensi adalah (Mathematica): θ 1 ( u ; q ) = 2 q 1 4 ∑ n = 0 ∞ ( − 1 ) n q n ( n + 1 ) sin ⁡ ( 2 n + 1 ) u = ∑ n = − ∞ ∞ ( − 1 ) n − 1 2 q ( n + 1 2 ) 2 e ( 2 n + 1 ) i u {\displaystyle {\begin{aligned}\theta _{1}(u;q)&=2q^{\frac {1}{4}}\sum _{n=0}^{\infty }(-1)^{n}q...

 

Artikel ini adalah bagian dari seriPembagian administratifIndonesia Tingkat I Provinsi Daerah istimewa Daerah khusus Tingkat II Kabupaten Kota Kabupaten administrasi Kota administrasi Tingkat III Kecamatan Distrik Kapanewon Kemantren Tingkat IV Kelurahan Desa Dusun (Bungo) Gampong Kute Kalurahan Kampung Kalimantan Timur Lampung Papua Riau Lembang Nagari Nagori Negeri Maluku Maluku Tengah Negeri administratif Pekon Tiyuh Lain-lain Antara III dan IV Mukim Di bawah IV Banjar Bori Pedukuhan Dusun...

Peta pembagian administratif tingkat pertama Nikaragua Pembagian administratif Nikaragua terdiri atas 15 departemen dan 2 region otonom pada tingkat pertama serta 153 munisipalitas pada tingkat kedua. lbsPembagian administratif Amerika Amerika Utara Amerika Selatan Negara berdaulat Amerika Serikat Antigua dan Barbuda Argentina Bahama Barbados Belize Bolivia Brasil Chili Dominica Republik Dominika Ekuador El Salvador Grenada Guatemala Guyana Haiti Honduras Jamaika Kanada Kolombia Kosta Rika Ku...

 

Vulcan dalam peta litograf pada tahun 1846. Urbain Le Verrier, pengusul keberadaan Vulcan. Vulcan adalah planet kecil yang diusulkan keberadaannya di antara Merkurius dan Matahari. Dalam upayanya untuk menjelaskan keanehan dalam orbit Merkurius, matematikawan Prancis pada abad ke-19 Urbain Jean Joseph Le Verrier membuat hipotesis bahwa peristiwa tersebut diakibatkan oleh keberadaan planet lain, yang kemudian ia namai Vulcan. Planet tersebut tidak pernah ditemukan, dan keanehan dalam orbit Mer...

 

893 battle in England Battle of ButtingtonPart of the Viking invasions of EnglandDate893[a]LocationButtington, Powys, WalesResult Anglo-Welsh victoryBelligerents Mercia, Wessex, Welsh VikingsCommanders and leaders Æthelred, Lord of the MerciansEaldorman ÆthelhelmEaldorman Æthelnoth HasteinStrength unknown unknownCasualties and losses unknown unknownvteViking invasions of England Lindisfarne Hingston Down Great Heathen Army (865–78) Alcea York Englefield Reading ...

История Грузииსაქართველოს ისტორია Доисторическая Грузия Шулавери-шомутепинская культураКуро-араксская культураТриалетская культураКолхидская культураКобанская культураДиаухиМушки Древняя история КолхидаАриан-КартлиИберийское царство ФарнавазидыГруз�...

 

Pour les articles homonymes, voir Hassan. Nidal Malik HasanBiographieNaissance 8 septembre 1970 (53 ans)Comté d'Arlington (Virginie)Nationalité américaineAllégeance État islamiqueFormation Wakefield High School (en)Institut polytechnique et université d'État de VirginieWilliam Fleming High School (en)Activités Psychiatre (1988-2009), médecin militaire (1988-2009), tueur de masse (5 novembre 2009)Autres informationsArme Armée de terre des États-Unis (1988-2009)Grade militaire ...

 

Form of emotionally charged angry behavior Hostile redirects here. For other uses, see Hostile (disambiguation). Medical conditionHostilityTwo people in a heated argument in New York CitySpecialtyPsychiatryPart of a series onEmotions Affect Classification In animals Emotional intelligence Mood Regulation Interpersonal Dysregulation Valence Emotions Acceptance Admiration Affection Amusement Anger Angst Anguish Annoyance Anticipation Anxiety Apathy Arousal Awe Belongingness Boredom Confidence C...

El sufragio femenino durante la Segunda República española fue el resultado de esfuerzos que se remontan a mediados del siglo XIX. Las mujeres y los hombres que trabajaban por el sufragio universal tuvieron que combatir las metas feministas de periodos anteriores que priorizaban otros objetivos sociales, tales como el acceso a la educación, políticos, tales como el derecho de la mujer al voto y la igualdad de salarios. A medida que se desarrolló una clase media y las mujeres fueron ...

 

土库曼斯坦总统土库曼斯坦国徽土库曼斯坦总统旗現任谢尔达尔·别尔德穆哈梅多夫自2022年3月19日官邸阿什哈巴德总统府(Oguzkhan Presidential Palace)機關所在地阿什哈巴德任命者直接选举任期7年,可连选连任首任萨帕尔穆拉特·尼亚佐夫设立1991年10月27日 土库曼斯坦土库曼斯坦政府与政治 国家政府 土库曼斯坦宪法 国旗 国徽 国歌 立法機關(英语:National Council of Turkmenistan) ...

 

Railway station in Qingdao, Shandong Laixi莱西Exterior of the station prior to reconstructionGeneral informationLocationLaixi, Qingdao, ShandongChinaCoordinates36°49′24″N 120°31′31″E / 36.8232°N 120.5252°E / 36.8232; 120.5252Line(s)Qingdao–Rongcheng intercity railwayWeifang–Laixi high-speed railwayLaixi–Rongcheng high-speed railwayHistoryOpened28 December 2014 Laixi railway station (Chinese: 莱西站; pinyin: Láixī zhàn) is a railway sta...

16th-century Spanish conquistador, navigator, and colonial governor (1502–1572) Miguel López de LegazpiGovernor-General of the Captaincy General of the PhilippinesIn office27 April 1565 – 20 August 1572MonarchPhillip IIGovernor(Viceroy of New Spain)Francisco CeinosGastón de Peralta, 3rd Marquess of FalcesAlonso Muñoz and Luis CarrilloMartín Enríquez de AlmanzaPreceded byInaugural holderSucceeded byGuido de Lavezaris Personal detailsBornMiguel López de Legazpi[1](150...

 

Swedish bishop The Most ReverendUno von TroilArchbishop of UppsalaPrimate of SwedenUno von Troil painted by Lorens Pasch the younger.ChurchChurch of SwedenArchdioceseUppsalaAppointed1786In office1786–1803PredecessorCarl Fredrik MennanderSuccessorJakob Axelsson LindblomOrdersOrdination20 May 1773by Lars BenzelstiernaConsecration23 February 1781by Carl Fredrik MennanderRankMetropolitan ArchbishopPersonal detailsBorn(1746-02-24)24 February 1746Stockholm, SwedenDied27 July 1803(1803-0...

 

Machine HeadLa band in concerto nel 2018 Paese d'origine Stati Uniti GenereGroove metal[1][2]Thrash metal[3]Heavy metal[4][5] Periodo di attività musicale1992 – in attività EtichettaRoadrunner Records Album pubblicati13 Studio10 Live3 Sito ufficiale Modifica dati su Wikidata · Manuale I Machine Head sono un gruppo musicale groove metal statunitense, formatosi ad Oakland nel 1992.[4] Dopo un acclamato esordio nel...

Brazilian governmental radio program This article is about the Brazilian governmental radio program. For the reality television series, see The Voice Brasil. Radio show A Voz do BrasilGenreInformational/governmentRunning time60 minutesCountry of originBrazilHosted byNasi Brum and Gabriela Mendes (Executive); Artur Filho e Wlyanna Gomes (Judiciary); Ricardo Nakaoka, Tiago Medeiros, Vladimir Spinoza, Marluci Ribeiro and Raquel Teixeira (Legislature - Federal Senate); José Carlos Andrade, Paulo...

 

The topic of this article may not meet Wikipedia's notability guidelines for companies and organizations. Please help to demonstrate the notability of the topic by citing reliable secondary sources that are independent of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be merged, redirected, or deleted.Find sources: TVP Dokument – news · newspapers · books · scholar ...

 

Former international basketball club cup competition For the LPGA Tour golf tournament, see McDonald's Championship (golf). McDonald's ChampionshipSportBasketballFounded1987Ceased1999No. of teams6CountryInternationalLastchampion(s) San Antonio Spurs (1st title)Most titles 9 NBA teams (1 title each) The McDonald's Championship (sometimes called the McDonald's Open) was an international men's basketball competition that featured a representative of the National Basketball Association (repre...

Standard terms for unambiguous description of relative placement of body parts This article is part of a series onAnatomical terminology BoneLocationMicroanatomyMotionMuscleNeuroanatomy vte Standard anatomical terms of location are used to describe unambiguously the anatomy of animals, including humans. The terms, typically derived from Latin or Greek roots, describe something in its standard anatomical position. This position provides a definition of what is at the front (anterior), behind (...

 

Ethan e Joel Coen presidenti di giuria del Festival di Cannes 2015 Oscar alla migliore sceneggiatura originale 1997 Oscar al miglior film 2008 Oscar al miglior regista 2008 Oscar alla migliore sceneggiatura non originale 2008 Joel Daniel Coen (St. Louis Park, 29 novembre 1954) e Ethan Jesse Coen (St. Louis Park, 21 settembre 1957), generalmente noti come i fratelli Coen, sono due registi, sceneggiatori, produttori cinematografici e montatori statunitensi. Normalmente scrivono insieme il...