UTF-16

UTF-16 est un codage des caractères défini par Unicode, où chaque caractère est codé sur une suite de un ou deux mots de 16 bits.

Le codage était défini dans le rapport technique 17, annexé à la norme Unicode. Depuis, cette annexe est devenue obsolète car UTF-16 fait partie intégrante de la norme Unicode, dans son chapitre 3 Conformance, qui la définit de façon très stricte.

L'UTF-16 ne doit pas être confondu avec l'UCS-2 qui est le codage, plus simple, de chaque caractère sur deux octets. Ces deux normes sont pourtant appelées toutes les deux Unicode, car le codage est le même tant que l'on n'utilise pas les plages entre U+D800 et U+DFFF (en principe réservées) et les plages au-delà U+FFFF (peu utilisées en Occident).

Usage

L'UTF-16 est en particulier utilisé dans les environnements Windows. Dans ce système, les API dites Unicode utilisent ce standard. Il en va de même du système NTFS.

UTF-16 est le standard de chaînes de caractères utilisé par l'UEFI[1].

Description

Le numéro de chaque caractère (son point de code) est donné par la norme ISO/CEI 10646, et repris à l'identique par le standard Unicode. Les points de code qui peuvent être représentés doivent être dans l’intervalle de validité U+0000 à U+10FFFF, et ne doivent pas être affectés à un non-caractère. Tous les caractères possibles dans Unicode possèdent de tels points de code.

Tout point de code qui n’est pas un non-caractère, et dont la valeur peut être codée sur un seul codet de deux octets (16 bits), c’est-à-dire tout point de code U+0000 à U+D7FF et U+E000 à U+FFFD, est stocké sur un seul mot de 16 bits (la plage de non-caractères U+D800 à U+DFFF est donc exclue, c'est-à-dire les points de code dont les 5 bits de poids fort sont 11011).

Dans les autres cas, le caractère est un point de code d’un plan supplémentaire (donc entre U+10000 et U+10FFFD et dont les 16 bits de poids faible ne doivent pas égaler 0xFFFE ou 0xFFFF) ; il est alors stocké sur 2 mots (codets) successifs de 16 bits chacun, dont les valeurs correspondent aux points de code réservés dans les demi-zones d’indirection allouées dans le plan multilingue de base des normes Unicode et ISO/CEI 10646 :

  • le premier mot aura les 6 bits de poids fort égaux à 110110 et sera donc compris dans l’intervalle [0xD800 .. 0xDBFF] (ici en numération hexadécimale) ; ce mot contiendra dans ses 10 bits de poids faible les 10 bits de poids fort de la différence (représentée sur 20 bits) entre le point de code à stocker et le premier point de code supplémentaire U+10000 ;
  • le second mot aura les 6 bits de poids fort égaux à 110111 et sera donc compris dans l’intervalle [0xDC00 .. 0xDFFF] (ici en numération hexadécimale) ; ce mot contiendra dans ses 10 bits de poids faible les 10 bits de poids faible du point de code à stocker.

Puis suivant le format de stockage des mots de 16 bits dans un flux ordonné d’octets, deux systèmes sont possibles pour le codage final :

Principe du codage UTF-16 en big endian (on représente ici les bits)
Numéro du caractère 00000000 000uuuuu xxxxxxyy yyyyyyyy
Codage UTF-16BE
(sur 2 octets)
  xxxxxxyy yyyyyyyy
(seulement si uuuuu = 00000)
Codage UTF-16BE
(sur 4 octets)
110110ww wwxxxxxx 110111yy yyyyyyyy
avec wwww = uuuuu - 1 (si uuuuu > 00000)
Principe du codage UTF-16 en little endian (on représente ici les bits)
Numéro du caractère 00000000 000uuuuu xxxxxxyy yyyyyyyy
Codage UTF-16LE
(sur 2 octets)
  yyyyyyyy xxxxxxyy
(seulement si uuuuu = 00000)
Codage UTF-16LE
(sur 4 octets)
wwxxxxxx 110110ww yyyyyyyy 110111yy
avec wwww = uuuuu - 1 (si uuuuu > 00000)

L’indication du type de codage utilisé (ordre des octets) peut être implicite pour le protocole utilisé, ou précisé explicitement par ce protocole (en indiquant par exemple les noms réservés "UTF-16BE" ou "UTF-16LE" dans un entête de charset MIME). Si le protocole ne permet pas de spécifier l’ordre des octets, et s’il permet l’une ou l’autre des alternatives, on pourra utiliser le codage UTF-16 du point de code valide U+FEFF comme indicateur en tête du flux de données (car un changement d’ordre de ses octets à la lecture du flux conduira à un point de code U+FFFE, valide dans Unicode mais affecté à un non-caractère et donc interdit dans ce cas dans tout flux UTF-16. Ce point de code ainsi représenté (appelé indicateur d'ordre des octets, byte order mark en anglais, abrégé BOM) ne sera codé qu’au début du flux de données, et permet de savoir comment a été codé le flux :

1er octet 2e octet Codage effectif
0xFE 0xFF big endian
0xFF 0xFE little endian

Si l’une des deux séquences de deux octets chacune est présente en tête de flux, le type de codage en est déduit et la séquence est retirée du flux : elle ne représente aucun caractère du texte stocké dans ce flux de données. Si aucune des deux séquences ne figure en tête du flux de données, la norme Unicode spécifie que le flux doit être décodé en big endian (UTF-16BE).

Ailleurs qu’au début du flux (y compris après un BOM initial), ces séquences ne sont pas reconnues comme codant un BOM et le décodage se poursuit avec un type de codage unique ; donc si ces séquences apparaissent après le début, alors :

  • soit le texte contient bien le caractère U+FEFF (espace insécable sans chasse, zero-width non-breaking space en anglais, abrégé ZWNBSP) si le mot de 16 bits est correctement codé dans le bon ordre,
  • soit le flux est invalide et ne contient pas de texte conforme aux normes Unicode et ISO/CEI 10646.

De même le flux doit être considéré comme invalide et ne contenant pas de texte conforme à Unicode s’il contient un mot de 16 bits compris entre 0xD800 et 0xDBFF non immédiatement suivi d’un mot compris entre 0xDC00 et 0xDFFF, ou s’il contient un mot de 16 bits entre 0xDC00 et 0xDFFF non immédiatement précédé d’un mot entre 0xD800 et 0xDBFF, ou si le décodage fait apparaître le point de code de tout autre non-caractère.

Notes et références

  1. « UEFI Programming - First Steps », sur x86asm.net (consulté le ).

Voir aussi

Sur les autres projets Wikimedia :

Articles connexes

Liens externes

Read other articles:

Katedral TulancingoKatedral Santo Yohanes PembaptisSpanyol: Catedral de San Juan Bautistacode: es is deprecated Katedral TulancingoLokasiTulancingoNegaraMeksikoDenominasiGereja Katolik RomaArsitekturStatusKatedralStatus fungsionalAktifAdministrasiKeuskupan AgungKeuskupan Agung Tulancingo Katedral Santo Yohanes Pembaptis[1] (Spanyol: Catedral de San Juan Bautistacode: es is deprecated ) disebut juga Katedral Tulancingo[2] adalah sebuah gereja katedral Katolik yang terletak di T...

 

 

Lambang Peta Data dasar Bundesland: Niedersachsen Ibu kota: Osnabrück Wilayah: 2.121,56 km² Penduduk: 359.576 (30 September 2005) Kepadatan penduduk: 169 jiwa per km² Pelat nomor kendaraan bermotor: OS Pembagian administratif: 38 Gemeinde Alamat kantor bupati: Am Schölerberg 149082 Osnabrück Situs web resmi: www.lkos.de Politik Bupati: Anna Kebschull (Hijau) Peta Osnabrück adalah sebuah distrik (Landkreis) di Niedersachsen, Jerman. Dengan daerah seluas, 2,121 km², distrik ini ada...

 

 

This biography of a living person relies too much on references to primary sources. Please help by adding secondary or tertiary sources. Contentious material about living persons that is unsourced or poorly sourced must be removed immediately, especially if potentially libelous or harmful.Find sources: Paula Hancocks – news · newspapers · books · scholar · JSTOR (December 2021) (Learn how and when to remove this template message) Paula Hancocks is an ...

Team Fortress 2 Karya promosi yang menampilkan sembilan kelas yang dapat dimainkanPublikasi 10 Oktober, 2007 Microsoft Windows, Xbox 360 (The Orange Box) NA: 10 Oktober, 2007EU: 18 Oktober, 2007AU: 25 Oktober, 2007 PlayStation 3 AU: 22 November, 2007EU: 23 November, 2007NA: 11 Desember, 2007 Mac OS X WW: 10 Juni, 2010 Linux WW: 14 Febuari, 2013 GenrePenembak orang pertamaKarakterScout (en), Soldier (en), Pyro (en), Demoman (en), Heavy, Engineer (en), Medic (en), Sniper (en), Spy (en), Adminis...

 

 

MalanjeProvinceThe Black Rocks of Pungo AndongoMalanje, province of AngolaCountryAngolaCapitalMalanjeLuas • Total97.602 km2 (37,684 sq mi)Populasi (2014 census) • Total968.135 • Kepadatan9,9/km2 (26/sq mi)Kode ISO 3166AO-MALSitus webwww.malanje.gov.ao Provinsi Malanje merupakan sebuah provinsi di Angola yang memiliki luas wilayah 97.602 km² dan populasi 900.000 jiwa (1988). Ibu kotanya ialah Malanje. Referensi Artikel bertopik...

 

 

Diagram tiga tiang dan beberapa tali-temali yang dapat membentuk busur: A.) Tiang cucur B.) Palang cucur, C.) Palang cucur layang, D.) Tali cucur E.) Tali sabur depan, F.) Tali cucur melayang G.) Tali luhung depan H.) Tali tiang puncak, I.) Talia angguk luar, J.) Tali angguk dalam Palang cucur adalah tiang yang digunakan untuk memanjangkan cucur di kapal layar . [1] Ia sendiri dapat diperpanjang lebih jauh dengan palang cucur melayang. [1] Ujung tumit (yaitu belakang dan bawah...

Bahasa Melayu LematangBPS: 0050 5 بهاس ملايو لمتڠꤷꥁꤼ ꤸꥍꤾꤿꥈ ꤾꥍꤸꤳꥏBahase Lematang Dituturkan diIndonesiaWilayah  Sumatera Selatan  Lampung  Bengkulu EtnisMelayu LematangPenutur311.000 (2020)[1] Rumpun bahasa Austronesia Melayu-Polinesia Diperdebatkan:Melayu-Sumbawa atau Kalimantan Utara Raya (?) Melayu-Chamik Melayik Musi Palembang–Dataran Rendah Bahasa Lematang DialekMegang[2] Rambang[3] Rambutan[3 ...

 

 

headspaceheadspace National Youth Mental Health FoundationFormation2006; 18 years ago (2006)TypeNon-governmental organisationVAT ID no. ABN 26 137 533 843Legal statusFoundationPurposeProviding mental health support to young AustraliansHeadquartersLevel 2, 485 La Trobe Street, Melbourne, VictoriaRegion AustraliaServicesPsychology, psychiatry, therapy, nutrition and general health careMethodsIn-person, online and over the phoneBoard ChairLisa Paul AO PSMCEOJason Trethowan...

 

 

Voce principale: Unione Sportiva Sassuolo Calcio. US Sassuolo CalcioStagione 2011-2012Sport calcio Squadra Sassuolo Allenatore Fulvio Pea All. in seconda Andrea Tarozzi Presidente Carlo Rossi Serie B3º Coppa ItaliaTerzo turno Maggiori presenzeCampionato: Pomini (44)Totale: Pomini (46) Miglior marcatoreCampionato: G.Sansone (20)Totale: G.Sansone (20) StadioAlberto Braglia 2010-2011 2012-2013 Si invita a seguire il modello di voce Questa voce raccoglie le informazioni riguardanti l'Union...

Protected area in Oregon, United States Cold Springs National Wildlife RefugeIUCN category IV (habitat/species management area)Location in northeastern OregonLocationUmatilla County, Oregon, U.S.A.Nearest cityHermiston, OregonCoordinates45°51′49″N 119°08′58″W / 45.8637435°N 119.1494542°W / 45.8637435; -119.1494542[1]Area3,117 acres (1,261 ha)[2]Established1909 (1909)Governing bodyU.S. Fish and Wildlife ServiceWebsiteCold ...

 

 

この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)出典検索?: コルク – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2017年4月) コルクを打ち抜いて作った瓶の栓 コルク(木栓、�...

 

 

この項目には、一部のコンピュータや閲覧ソフトで表示できない文字が含まれています(詳細)。 数字の大字(だいじ)は、漢数字の一種。通常用いる単純な字形の漢数字(小字)の代わりに同じ音の別の漢字を用いるものである。 概要 壱万円日本銀行券(「壱」が大字) 弐千円日本銀行券(「弐」が大字) 漢数字には「一」「二」「三」と続く小字と、「壱」「�...

هنودمعلومات عامةنسبة التسمية الهند التعداد الكليالتعداد قرابة 1.21 مليار[1][2]تعداد الهند عام 2011ق. 1.32 مليار[3]تقديرات عام 2017ق. 30.8 مليون[4]مناطق الوجود المميزةبلد الأصل الهند البلد الهند  الهند نيبال 4,000,000[5] الولايات المتحدة 3,982,398[6] الإمار...

 

 

Ed Stone beralih ke halaman ini. Untuk objek politik Britania Raya, lihat EdStone. Edward C. StoneStone dengan model Voyager pada tahun 1992LahirEdward Carroll StoneJanuary 23, 1936 (1936-01-23) (usia 88)Knoxville, Iowa, ASKebangsaanAmerikaAlmamaterUniversity of Chicago (M.S., Ph.D.)PekerjaanProfesor, fisikawanDikenal atasDirektur JPL dan ilmuwan Voyager Edward Carroll Stone (lahir 23 Januari 1936)[1] adalah ilmuwan asal amerika di Institut Teknologi California, dan mantan direkt...

 

 

دوري كرة القدم الإسكتلندي الدرجة الثانية 1999–2000 تفاصيل الموسم دوري كرة القدم الاسكتلندي الدرجة الثانية  [لغات أخرى]‏  البلد المملكة المتحدة  البطل نادي كلايد  مباريات ملعوبة 180   عدد المشاركين 10   دوري كرة القدم الإسكتلندي الدرجة الثانية 1998–99  دوري ك...

Government complex in Houston Harris County, Texas jails701 Jail, one of the jails in the complexLocationHouston, Texas, United StatesGoverning bodyHarris County Sheriff's Office The government of Harris County, Texas maintains its main jail complex in Downtown Houston, Texas. The complex, operated by the Harris County Sheriff's Office (HCSO), lies in the peninsula formed by the Buffalo Bayou in northern Downtown. While most of the complex is based on county jails serving Harris County, ...

 

 

Cet article concerne la mécanique. Pour le sens informatique, voir Compression de données et Taux de compression de données. En mécanique, le taux de compression d'un moteur à explosion à pistons, aussi appelé rapport volumétrique, est le rapport des volumes du cylindre lorsque le piston est au point mort bas (volume maximum) et lorsque le piston est au point mort haut (volume minimum). Le volume du cylindre est le volume total accessible aux gaz qu'il contient. Le taux de co...

 

 

Hernalser Hauptstraße WappenStraße in Wien Hernalser Hauptstraße Basisdaten Ort Wien Ortsteil Hernals Hist. Namen Hauptstraße Anschluss­straßen Dornbacher Straße (westlich) und Kinderspitalgasse (östlich) Querstraßen Güpferlingstraße, Paschinggasse, Urbangasse, Kainzgasse, Pretschgogasse, Berlingasse, Julius-Meinl-Gasse, Gräffergasse, Heigerleinstraße, Dittersdorfgasse, Seitenberggasse, Schultheßgasse, Römergasse, Gilmgasse, Lienfeldergasse, Schadinagasse, Redtenbachergass...

この記事には参考文献や外部リンクの一覧が含まれていますが、脚注によって参照されておらず、情報源が不明瞭です。脚注を導入して、記事の信頼性向上にご協力ください。(2020年1月) この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 一次資料や記事主題の関係者による情報源に頼って書かれています。(2020年1月) 独立記事�...

 

 

Constance dari PrancisComtesse ChampagnePeriodesekitar tahun 1093-1103?Permaisuri AntiokhiaPeriode1093/95-1104Informasi pribadiWangsaKapetiaAyahPhilippe I dari PrancisIbuBertha dari HollandPasanganHugues I dari ChampagneBohemond I dari AntiokhiaAnakBohemond II dari Antiokhia Constance dari Prancis (1078- Januari 1124/1126) merupakan putri Raja Philippe I dari Prancis dan Bertha dari Holland. Ia berasal dari Wangsa Kapetia dan putri Antiokhia dari pernikahan keduanya dan istri Comte Champagne ...