UTF-16/UCS-2

A számítástechnikában az UTF-16 változó hosszúságú (16 vagy 32 bites) karakterkódolási módszer. Képes kezelni a teljes Unicode Alap Többnyelvű Lapot (Basic Multilingual Plane - BMP) pontosan két byte-on, és minden más lapot pontosan négy byte-on. Az UCS-2 kötött hosszúságú (16 bites) részhalmaza az UTF-16-nak, de csak az alap többnyelvű lap kezelésére képes.

Az UTF-16-ot hivatalosan az ISO/IEC 10646-1 Q melléklete (Annex Q) határozza meg. A Unicode szabvány 3.0-s vagy magasabb változatai, illetve az IETF RFC 2781 is leírja az UTF-16-ot.

Az UTF-16 egyedülálló kódként jeleníti meg az Unicode vagy a ISO/IEC 10646 első 65536 kódpontját, amely megegyezik magával a kódpont értékével: 0 a 0-s kódpont esetében, hexadecimális FFFD az FFFD kódpont esetén.

Az első és a második lapok kezelési módszere

Az UTF-16 a hexadecimális FFFF-nél nagyobb kódértékek kezelését az úgynevezett helyettesítő pár módszerrel végzi, amikor is két 16 bites szóval ábrázolja a kódot, felhasználva ehhez a D800–DFFF közötti kódérték tartományt. Például, ha a kódtábla szerinti karakter értéke (kódpont) hexadecimális 10000, akkor ehhez a D800 DC00 sorozat tartozik, és ha a kódpont értéke hexadecimális 10FFFD, amely a Unicode felső korlátja is egyben, akkor az ehhez az értékhez tartozó kódponthoz a DBFF DFFD sorozat tartozik. A Unicode és az ISO/IEC 10646 a D800–DFFF tartományban lévő értékekhez semmilyen karakter kódértéket nem rendel, így a helyettesítő pár önálló értékei önmagukban semmilyen karakternek nem feleltethetők meg.

Nagy a végén/Kicsi a végén

Egy kódot tehát egy vagy két 16 bites szó reprezentál. Mivel ezeknek a szavaknak az endianitása a számítógép architektúráktól függően sokféle lehet, az UTF-16 meghatározott három kódolási sémát: UTF-16, UTF-16LE, és UTF-16BE.

Az UTF-16 kódolási séma előírja, hogy a byte-sorrendet jelezni kell egy úgynevezett byte-sorrend jelző (byte order mark, BOM) segítségével, amelynek meg kell előznie a tényleges szöveget. A BOM-ként használt karakter a „nulla szélességű nem törhető szóköz”, amely értelemszerűen sosem fordul elő eredeti jelentéstartalmával szöveg elején. Unicode száma hexadecimálisan FEFF; az FE FF byte-sorozat jelenti a „big-endian”, azaz „nagy végű”, és az FF FE sorozat jelenti a „little-endian”, azaz „kis végű” byte-sorrendet. UTF-16 és UCS-2 kódolású adat elején a jelző elkülöníthető magától a szövegtől, annak nem része, ez a dekódolás szempontjából előnyös.

Az UTF-16LE és az UTF-16BE kódolási séma lényegében megegyezik az UTF-16 kódolási sémájával, de nem használ BOM-ot, a byte-sorrend az eljárás nevéből következik (LE – little-endian, BE – big-endian). Az UTF-16LE vagy UTF-16BE kódolású szöveg elején előforduló BOM nem jelent BOM-ot, a szöveg részeként kell tekinteni. A gyakorlatban a legtöbb szoftver figyelmen kívül hagyja ezeket a felesleges BOM-okat.

Az IANA jóváhagyta az UTF-16, az UTF-16BE, és az UTF-16LE használatát az Interneten, pontosan ezekkel a nevekkel (nagybetűkkel). A szintén használt UTF_16 vagy UTF16 hordozhat jelentést bizonyos programozási nyelvekben vagy alkalmazásokban, de nem szabványos nevek az interneten.

Az UTF-16-ot használó legfontosabb operációs rendszerek

A szövegek belső ábrázolása UTF-16 kódolással történik a Microsoft Windows NT/2000/XP/CE, a Qualcomm BREW és a Symbian operációs rendszerekben, a Java és a .NET bytecode környezetében, a Mac OS X Cocoa és Core Foundation keretrendszerében és a Qt eszközrendszerben.

UCS-2

Az UCS-2 egy elavult specifikáció, amely csak a BMP kódolására alkalmas, és az UTF-16 tulajdonképpen kiváltotta. Néhány dokumentumban az UCS-2 és az UTF-16 kifejezések teljesen össze vannak keverve, és felcserélhetőnek látszanak; az UTF-16 gyakran szerepel az UCS-2 párjaként.

A Windows 2000 változatot megelőző NT operációs rendszerek csak az UCS-2-t támogatták.

Példák

kód érték karakter UTF-16 kód érték(ek) glifa*
122 (hex 7A) kis Z (Latin) 007A z
27700 (hex 6C34) víz (kínaiul) 6C34
119070 (hex 1D11E) zenei G kulcs D834 DD1E 𝄞
"水 z 𝄞" (víz, z, G kulcs), UTF-16 szerint kódolva
Kódolási forma endianitás Byte sorozat
UTF-16LE kicsi a végén 34 6C, 7A 00, 34 D8 1E DD
UTF-16BE nagy a végén 6C 34, 00 7A, D8 34 DD 1E
UTF-16 kicsi a végén, BOM-mal FF FE, 34 6C, 7A 00, 34 D8 1E DD
UTF-16 nagy a végén, BOM-mal FE FF, 6C 34, 00 7A, D8 34 DD 1E

* Megfelelő fontok és szoftver szükséges a helyes jelek (glifák) megjelenítéséhez.

Példa a UTF-16 kódolási eljárásra

Legyen a kódolandó karakter értéke a (hexadecimális) U+64321, aminek az UTF-16 kódját kell előállítani. Mivel nagyobb, mint U+FFFF, ezért a helyettesítő párokat kell meghatározni, a következők szerint:

v  = 0x64321
v′ = v – 0x10000
   = 0x54321
   = 0101 0100 0011 0010 0001
vh = 0101010000 // v′ felső 10 bitje
vl = 1100100001 // v′ alsó 10 bitje
w1 = 0xD800 // az eredmény 1. szavának feltöltése az alsó korláttal
w2 = 0xDC00 // az eredmény 2. szavának feltöltése a felső korláttal
w1 = w1 | vh
   = 1101 1000 0000 0000 |
            01 0101 0000
   = 1101 1001 0101 0000
   = 0xD950 // az eredmény 1. szava
w2 = w2 | vl
   = 1101 1100 0000 0000 |
            11 0010 0001
   = 1101 1111 0010 0001
   = 0xDF21 // az eredmény 2. szava

A korrekt UTF-16 kódolás szerint a karaktert a következő szavak sorozata írja le:

0xD950 0xDF21

Mivel a karakter U+FFFF felett van, ezért UCS-2-ben nem kódolható.

Kapcsolódó szócikkek

Egyéb, angol nyelvű linkek

Read other articles:

1974 film The Apprenticeship of Duddy KravitzTheatrical release posterDirected byTed KotcheffScreenplay byMordecai RichlerStory byLionel Chetwynd (Adaptation)Based onThe Apprenticeship of Duddy Kravitzby Mordecai RichlerProduced byJohn Kemeny[1]StarringRichard DreyfussMicheline LanctôtJack WardenRandy QuaidCinematographyBrian WestEdited byThom NobleMusic byStanley MyersAndrew PowellProductioncompaniesInternational Cinemedia CenterCanadian Film Development CorporationWelco United Cana...

Markante Frontseite mit Kirchturm Innenansicht (2017) Die Kreuzeskirche im Duisburger Stadtteil Marxloh ist eine evangelische Kirche, die nach Plänen des Architekten Heinrich Behrens von 1903 bis 1905 errichtet wurde. 1985 wurde sie unter Denkmalschutz gestellt. Sie ist eine der beiden Predigtstätten der Evangelischen Kirchengemeinde Marxloh-Obermarxloh im Kirchenkreis Duisburg der Evangelischen Kirche im Rheinland. Typisch für das durch die Industrialisierung geprägte Hamborn-Marxloher G...

Federal-ConcordiaLugarUbicación Entre Ríos, ArgentinaDescripciónInicio Estación FederalFin Estación Concordia NorteCaracterísticas técnicasAncho de vía 1435 mmPropietario Estado NacionalExplotaciónEstado Sin operacionesLíneas 1 ramalOperador Trenes Argentinos CargasEsquema ¿? A/desde Paraná-Diamante 251,052desde Bajada Grande Federal 251,505 Empalme sur 253,585 Empalme este 253,931 Empalme norte A/desde Curuzú Cuatiá Ruta Nacional 127 258,000 Apeadero El Mocho 262,300 Apea...

Festival de la Canción de Eurovisión 1983 Rudi-Sedlmayer-Halle, sede del Festival de Eurovisión 1983. Acceso al logo oficial de esta ediciónFecha 23 de abril de 1983Presentadores Marlène CharellTelevisión anfitriona Website Página web oficial Lugar Rudi-Sedlmayer-HalleMúnich Alemania OccidentalGanador(a) Luxemburgo LuxemburgoCorinne HermèsSi la vie est cadeauSistema de votos Cada país da 1-8, 10 y 12 puntos a sus 10 canciones favoritasParticipantes 20Retirados IrlandaRetor...

Bauer, 1. von links, bei der Eröffnung des Otto-Nagel-Hauses in Berlin, 1973 Roland Bauer (* 19. März 1928 in Eibenberg, Tschechoslowakische Republik; † 2017) war ein deutscher Historiker, Funktionär der Sozialistischen Einheitspartei Deutschlands (SED) und Politiker in der Deutschen Demokratischen Republik (DDR). Er war Hochschullehrer an der SED-Parteihochschule „Karl Marx“, Vizepräsident der Historiker-Gesellschaft der DDR, Mitglied der Berliner Stadtverordnetenversammlung und de...

Roger EtchegarayPresiden Emeritus Dewan Kepausan bagi Keadilan dan PerdamaianRoger Etchegaray di Sarajevo pada 2012TakhtaPorto-Santa RufinaPenunjukan8 April 1984Masa jabatan berakhir24 Juni 1998PendahuluBernardin GantinPenerusFrançois-Xavier Nguyên Van ThuánJabatan lainKardinal-Uskup Porto-Santa RufinaWakil Kepala (Sub-Kepala) Dewan KardinalImamatTahbisan imam13 Juli 1947oleh Jean Saint-PierreTahbisan uskup27 Mei 1969oleh Gabriel Auguste François MartyPelantikan kardinal30 Juni ...

South African women's cricket team in Bangladesh in 2016–17    Bangladesh Women South Africa womenDates 12 – 20 January 2017Captains Rumana Ahmed Dane van NiekerkOne Day International seriesResults South Africa women won the 5-match series 4–1Most runs Rumana Ahmed (142) Lizelle Lee (268)Most wickets Khadija Tul Kubra (11) Suné Luus (7)Player of the series Lizelle Lee (SA) South African women toured Bangladesh in January 2017.[1] The tour consisted of a series of...

Protein-coding gene in the species Homo sapiens PHC2IdentifiersAliasesPHC2, EDR2, HPH2, PH2, polyhomeotic homolog 2External IDsOMIM: 602979 MGI: 1860454 HomoloGene: 75090 GeneCards: PHC2 Gene location (Human)Chr.Chromosome 1 (human)[1]Band1p35.1Start33,323,623 bp[1]End33,431,052 bp[1]Gene location (Mouse)Chr.Chromosome 4 (mouse)[2]Band4 D2.2|4 62.12 cMStart128,548,495 bp[2]End128,646,674 bp[2]RNA expression patternBgeeHumanMouse (ortholog)T...

TLC: Tables, Ladders & Chairs Poster menampilkan Edge dan The Undertaker Lagu Tema Bullet Soul oleh Switchfoot[1] Detail Promosi WWE Tanggal 13 Desember, 2009 Tempat AT&T Center Kota San Antonio, Texas Kehadiran 15,226[2] Kronologi Bayar-Per-Tayang Survivor Series (2009) TLC: Tables, Ladders & Chairs Royal Rumble (2010) TLC: Tables, Ladders & Chairs adalah acara Bayar-per-tayang dihasilkan oleh World Wrestling Entertainment (WWE). Acara ini diadakan pada tangga...

Ruta Provincial 1003  Buenos Aires,  Argentina La RP 1003 al lado del Cementerio Santa Mónica, Libertad. Datos de la rutaIdentificador  RP 1003 Tipo Ruta provincialLongitud 13 kmOtros datosPartidos Merlo MorónIntersecciones en Morón en LibertadOrientación • Este RP 17 en Morón (34°41′28.1″S 58°38′04.2″O / -34.691139, -58.634500) • Oeste RP 21 en Libertad (34°42′49.1″S 58°42′52.8″O / -34.713639, -58...

Bulgarian footballer This article needs to be updated. Please help update this article to reflect recent events or newly available information. (January 2023) Dimitar Petkov Petkov playing for Cherno More in 2011Personal informationFull name Dimitar Ivanov PetkovDate of birth (1987-08-24) 24 August 1987 (age 36)Place of birth Blagoevgrad, BulgariaHeight 1.85 m (6 ft 1 in)Position(s) Defensive midfielderTeam informationCurrent team Dacia Unirea BrăilaNumber 16Senior career...

Somerset Trained BandsActive1558–1662Country EnglandBranch Trained BandsRoleInfantry and CavalrySize5–6 Regiments of Foot, 1 Regiment of HorseEngagementsRising of the NorthBattle of NewburnBattle of Marshall's ElmSiege of Sherborne CastleBattle of Braddock DownSecond Battle of ModburySiege of Lyme RegisBattle of LostwithielSieges of TauntonBattle of LangportSiege of Bristol (1645)CommandersNotablecommandersLt-Col Thomas LunsfordSir Edward RodneySir John StawellCol William StrodeMilit...

Proverbs 17← chapter 16chapter 18 →The whole Book of Proverbs in the Leningrad Codex (1008 C.E.) from an old fascimile edition.BookBook of ProverbsCategoryKetuvimChristian Bible partOld TestamentOrder in the Christian part21 Proverbs 17 is the seventeenth chapter of the Book of Proverbs in the Hebrew Bible or the Old Testament of the Christian Bible.[1][2] The book is a compilation of several wisdom literature collections, with the heading in 1:1 may be intended ...

APEC Thailand 2003การประชุมเอเปค พ.ศ. 2546 ประเทศไทยAPEC Thailand 2003 delegatesHost countryThailandDate20–21 OctoberMottoA World of Differences: Partnership for the Future.(Thai: โลกแห่งความแตกต่าง: หุ้นส่วนเพื่ออนาคต)Venue(s)BangkokFollows2002Precedes2004Websiteapec2003.org APEC Thailand 2003[1][2] was a series of political meetings held around Thailand...

English actress, producer and philanthropist Donna AirDonna Air in 2013BornDonna Marie Theresa Air (1979-08-02) 2 August 1979 (age 44)Gosforth, Newcastle-upon-Tyne, EnglandOccupation(s)Actress, producer and philanthropistYears active1992–presentPartner Damian Aspinall (2000–2007) James Middleton (2013–2018) Children1Websitedonnaair.com[dead link] Donna Marie Theresa Air (born 2 August 1979) is an English actress, producer and philanthropist. Early life and education Do...

Municipality in Utrecht, NetherlandsNieuwegeinMunicipalityCanal through Nieuwegein FlagCoat of armsLocation in UtrechtCoordinates: 52°2′N 5°5′E / 52.033°N 5.083°E / 52.033; 5.083CountryNetherlandsProvinceUtrechtEstablished1 July 1971Government[1] • BodyMunicipal council • MayorMarijke van Beukering (D66)Area[2] • Total25.65 km2 (9.90 sq mi) • Land23.51 km2 (9.08 sq mi)...

У этого термина существуют и другие значения, см. Еникале (значения). КрепостьЕникалекрымскотат. Yeñi Qale Один из полубастионов Еникале 45°21′03″ с. ш. 36°36′11″ в. д.HGЯO Страна Россия/Украина[1] Город Керчь Архитектор Голоппо Дата основания 1699 Строительство 1699—1706&...

Village in Zakarpattia Oblast, Ukraine Village in Zakarpattia Oblast, UkraineVovkove ВовковеVillageVovkoveShow map of Zakarpattia OblastVovkoveShow map of UkraineCoordinates: 48°31′21″N 22°28′13″E / 48.52250°N 22.47028°E / 48.52250; 22.47028CountryUkraineOblastZakarpattia OblastRaionUzhhorod RaionPopulation (2001) • Total509Time zoneUTC+2 (EET) • Summer (DST)UTC+3 (EEST) Vovkove (Ukrainian: Вовкове, Hungarian: Ungo...

Jejak kaki dari Chirotherium yang ditemukan di salahsatu batu pasir yang berasal dari periode Trias Jalur dari hewan mirip siput yang bernama Climactichnites dari Periode Kambrium, yang ditemukan di Wisconsin tengahBagian dari seriPaleontologi Fosil Fosilisasi Fosil jejak (Ichnofosil) Mikrofosil Persiapan fosil Fosil indeks Daftar Fosil Daftar situs fosil Lagerstätte Daftar Fosil peralihan Daftar fosil evolusi manusia sejarah alam Biogeografi Kepunahan massal Geokronologi Skala waktu geologi...

Restaurant and bar in Portland, Oregon, U.S. Not to be confused with Tom's Restaurant or Tom's Bar. Tom's Restaurant and BarThe restaurant's exterior, 2022Restaurant informationEstablishedDecember 18, 1975 (1975-12-18)Owner(s)Antoinette and Taki PapailiouPrevious owner(s)Tom and Georgia BelesiuFood typeAmericanStreet address3871 Southeast Division StreetCityPortlandCountyMultnomahStateOregonPostal/ZIP Code97202CountryUnited StatesCoordinates45°30′18″N 122°37′22″Wþ...