O Unicode
pewnego dobrego dnia ludzkość wynalazła komputery elektroniczne. Były one wykorzystywane jako przydatne narzędzie przez różnych ludzi na całym świecie.Wszyscy byli szczęśliwi.
ale wtedy ci ludzie chcieli wysyłać do siebie swoje prace, historie i Śmieszne Dowcipy w formie tekstu. I niestety, ci głupcy nigdy nie zdołali zgodzić się na użycie jednego języka i systemu pisania.W porządku, ale nie zgodzili się również na użycie jednego kodowania dla swojego tekstu.,
starsze kodowanie
widzisz, komputery nie myślą literami i liniami, ale bitami, bajtami i liczbami. Więc my ludzie musieliśmy wymyślić sposób, aby reprezentować tekst jako kilka liczb … łatwe! Po prostu zmapuj symbol z wybranego systemu pisaniasystem wyboru do liczby, którą może obsłużyć komputer. Na przykład w tekście, który teraz czytasz, alfabet łaciński z małymi literami, ato z, JEST oznaczony liczbami od 97 do 122 włącznie. Ale nie każdy z komputerem potrafi czytać po łacinie., Ci faceci używają skryptów takich jak Cyrylica, grecki, arabski, Han, Katanka i Kanji, i używali tego samego numeru kodu do kodowania tekstu. Na przykład litera Д(De) jest kodowana jako liczba 196 w kodowaniu Windows-1251, gdzie w kodowaniu rozszerzonym ASCII jest to”─”, pionowa linia używana do rysowania pól.
Tak więc przed otwarciem pliku tekstowego wysłanego przez Twojego znajomego po drugiej stronie świata, najpierw musisz wiedzieć, jakiego kodowania użyto do napisania tego pliku. Można się domyślić, ale tych starych kodowań jest sporo, prawie 60!, Więc po otwarciu pliku może on wyglądać tak:
poprawnym określeniem tego jest mojibake.
UTF-8
Jak więc rozwiązać problem posiadania tych wszystkich różnych kodowań?Cóż, odpowiedź jest dość prosta: wystarczy utworzyć jeden duży kodowaniektóre zawiera wszystkie rzeczy i symbole. To jest Unicode. Unicodespecyfikuje zakresy tzw. punktów kodowych lub znaków. Nie jest to samo kodowanie, które byłoby jednym z formatów używanych do kodowania punktów Unicode. Najczęściej używanym formatem Unicode jestutf-8., Istnieją inne formaty, takie jak UTF – 16 i UTF-32, ale UTF-8 jest najbardziej niesamowitym formatem dla Unicode, ponieważ:
- może przechowywać wszystko.
stare kodowanie wymagałoby zapisania całego dokumentu przy użyciu tego samego kodowania i tym samym systemu zapisu, co uniemożliwiałoby użytkownikowi używanie wielu systemów zapisu w jednym dokumencie. Z UTF-8users can. - używa zmiennej długości znaków.
Unicode ma miejsce do 4 294 967 296 (4 bajty = 32 bity = 2^32)punktów kodowych. Dokumenty i strony internetowe staną się cztery razy większe, gdy każdy znak ma 4 bajty., UTF-8 będzie używać tylko jeden bajt dla większości znaków łacińskich i do czterech bajtów dla mniej powszechnych. - jest wstecznie kompatybilny z ASCII
pierwsze 255 punktów kodu zakodowanych przez UTF-8 są dokładnie takie same jak ASCII. ASCII był powszechnie używanym formatem, zanim UTF-8 stał się popular.By jako kompatybilność wsteczna, programy UTF-8 mogą obsługiwać pliki zakodowane w ASCII bez konieczności ich ponownego kodowania.
nadal możesz napotkać dokumenty lub strony internetowe, które nie używają UTF-8.Najprawdopodobniej na stronach internetowych, które używają języka wschodniego, takiego jak mandaryński.Dlaczego?, Ponieważ właściciele witryn nie chcą wysadzić swoich pieniędzy na kosztach szerokopasmowych. Brzmi dziwnie? Pozwól mi wyjaśnić. Dokumenty z dużą ilością znaków łacińskich mają mniejszy rozmiar, ponieważ najczęstsze znaki mają tylko jeden bajt. Inne systemy zapisu są zakodowane w zakresach Unicode, gdzie pojedynczy znak może mieć do czterech bajtów! Dlatego te dokumenty są po prostu większe niż dokumenty napisane w języku, w którym używa się znaków łacińskich. Przykładem tego zjawiska jest serwis społecznościowy, vk.com., Ta strona używa kodowania Windows-1251, ponieważ koduje system zapisu cyrylicy w jednobajtowych szerokościach, oszczędzając przepustowość.
obecnie UTF-8 jest najczęściej używanym formatem tekstowym na internet.It jest również podstawą tej strony, bez Unicode, Lenny i wszystkie inne dongery prawdopodobnie byłyby ograniczone do zakresu znaków ASCII.
Leave a Reply