UTF-8 – Wiki

UTF-8

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji , szukaj

UTF-8 – system kodowania Unicode .

Spis treści

[ edytuj ] Zalety i wady

[ edytuj ] Zalety

  • Każdy tekst w ASCII jest tekstem w UTF-8.
  • Żaden znak spoza ASCII nie zawiera bajtu z ASCII.
  • Zachowuje porządek sortowania UCS-4 .
  • Typowy tekst ISO-Latin-X rozrasta się w bardzo niewielkim stopniu po przekonwertowaniu do UTF-8.
  • Nie zawiera bajtów 0xFF i 0xFE, więc łatwo można go odróżnić od tekstu UTF-16 .
  • Znaki o kodzie różnym od 0 nie zawierają bajtu 0, co pozwala stosować UTF-8 w ciągach zakończonych zerem.
  • O każdym bajcie wiadomo, czy jest początkiem znaku, czy też leży w jego środku, co nie jest prawdą, np. w kodowaniu EUC .
  • Nie ma problemów z little endian vs. big endian .
  • Jest domyślnym kodowaniem w XML (również w jego aplikacjach: XHTML , SVG , XSL , CML , MathML ).

[ edytuj ] Wady

  • Znaki CJK zajmują po 3 bajty zamiast 2 w kodowaniach narodowych.
  • Znaki alfabetów niełacińskich zajmują po 2 bajty zamiast jednego w kodowaniach narodowych.
  • UTF-8 nie używa przesunięć zasięgów, co stanowi dodatkowe utrudnienie dla implementacji UTF-8 (szczegóły poniżej)

[ edytuj ] Sposób kodowania

Mapowanie znaków Unicode na ciągi bajtów:

  • 0x00 do 0x7F - bity 0xxxxxxx, gdzie iksy to bity od najwyższego licząc
  • 0x80 do 0x7FF - bity 110xxxxx 10xxxxxx
  • 0x800 do 0xFFFF - bity 1110xxxx 10xxxxxx 10xxxxxx
  • 0x10000 do 0x1FFFFF - bity 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
  • 0x200000 do 0x3FFFFFF - bity 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
  • 0x4000000 do 0x7FFFFFFF - bity 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

Dla pierwszych znaków z przedziału ASCII od 0 do 127 znak jest mapowany jako jeden bajt. Dla znaków powyżej (np. polskie znaki) jest mapowany jako dwa bajty (lub więcej).

Oznacza to, że ten sam znak można zapisać na kilka sposobów. Przykładowo znak ASCII / (ukośnik) można zapisać jako:

  • 00101111
  • 11000000 10101111
  • 11100000 10000000 10101111
  • itd.

Stanowi to zagrożenie bezpieczeństwa m.in. dla serwerów, które sprawdzają obecność znaku / w ścieżkach. Z tego powodu standard UTF-8 przewiduje, że poprawny jest wyłącznie najkrótszy możliwy sposób zapisu, a każdy program musi odrzucać znaki zapisane dłuższymi sekwencjami niż minimalna.

Problemu tego można byłoby uniknąć, przy okazji skracając nieznacznie długość danych, jeśli wykorzystano by zasadę przesunięć typu:

  • sekwencje 1-bajtowe kodują 0x80 różnych znaków - od 0x00 do 0x7F
  • sekwencje 2-bajtowe kodują 0x800 różnych znaków - od 0x80 do 0x87F
  • sekwencje 3-bajtowe kodują 0x10000 różnych znaków - od 0x880 do 0x1087F
  • itd.

[ edytuj ] Zobacz też

[ edytuj ] Linki zewnętrzne


Walka na noże w amerykańskiej kampanii prezydenckiej
Zaostrza się kampania prezydencka w USA, pełna wzajemnych oskarżeń i ataków personalnych. Prezydent Barack Obama określa swego republikańskiego oponenta Mitta Romney'a mianem bezlitosnego kapitalisty, Romney natomiast oskarża go o powiększenie długu publicznego.



Największe organizacje lekarzy powołały sztab kryzysowy
Najważniejsze organizacje lekarskie w Polsce powołały sztab kryzysowy. Wezwał on medyków i świadczeniodawców do niepodpisywania umów z NFZ na wystawianie recept refundowanych.



Nowy wiersz Grassa, tym razem na temat Grecji
W niecałe dwa miesiące po opublikowaniu krytykującego Izrael wiersza niemiecki laureat literackiej nagrody Nobla Guenter Grass ponownie wdał się w poetycką polemikę na aktualny polityczny temat - tym razem postępowania UE wobec pogrążonej w kryzysie Grecji.



Odwrócenie trendów? PO już nie traci
Platforma Obywatelska zyskuje na poparciu, PiS traci. Różnica między tymi partiami wynosi 10 procent - takie są wyniki najnowszego sondażu telefonicznego TNS Polska dla programu Forum w Telewizji Polskiej.



Kombatanci upokorzeni na granicy? PiS interweniuje
Klub Parlamentarny PiS domaga się od premiera reakcji na potraktowanie kombatantów na granicy polsko-białoruskiej. Weterani, którzy jechali do Polski na zjazd łagierników-żołnierzy AK, zostali - według PiS - upokorzeni przez polską Straż Graniczną.



Home Page , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,