2012-06-10 22 views
8

Mam proste pytanie - jaka jest różnica między UTF-8, UTF-16 i UTF-32? Wiem, że zakodowane ciągi mają różne rozmiary, ale co to jest UTF-16 i UTF-32 dla? Powinno być w stanie obsłużyć wszystkie języki poprawnie? A w jaki sposób pasuje do tego UTF-7?Różnica między kodowaniami UTF?

EDIT

Ok, ja stosunkowo zrozumieć techniczną stroną całej sprawy, ale ja nadal nie widzę powodu, dla którego powinno się używać na przykład UTF-16 zamiast UTF-8 w mojej aplikacji. Moje pytanie brzmi: jakie jest praktyczne zastosowanie innych kodowań, a następnie UTF-8?

+1

Chciałbym tylko poznać praktyczny przykład UTF-32, powiedzmy. Czy ma jakieś prawdziwe zastosowanie? –

Odpowiedz

2

Ten artykuł przez słynnego Joel Spolsky wyjaśnia perfctly: http://www.joelonsoftware.com/articles/Unicode.html

Cytat:

Istnieją setki tradycyjnych kodowań, które można przechowywać tylko niektóre punkty kodowe poprawnie i zmienić wszystkie inne punkty kodowe do znaki zapytania. Niektóre popularne kodowania tekstu w języku angielskim to Windows-1252 (standard Windows 9x dla języków zachodnioeuropejskich) oraz ISO-8859-1, inaczej Latin-1 (przydatne również dla każdego języka zachodnioeuropejskiego). Ale staraj się przechowywać rosyjskie lub hebrajskie litery w tych kodowaniach, a otrzymasz garść znaków zapytania. Wszystkie UTF 7, 8, 16 i 32 mają dobrą właściwość, że są w stanie poprawnie zapisać dowolny punkt kodowy.