Komputery używają cyfr. Ludzie używają liter i symboli. Potrzebujemy mostu. ASCII jest tym mostem. ASCII zamienia każdą literę lub symbol na liczbę. Komputer zapisuje liczbę. Kiedy ją odczytujemy, komputer ponownie wyświetla literę. Tak działa tekst w wielu plikach i aplikacjach.
Komputer działa z wykorzystaniem elektryczności. Rozpoznaje dwa stany: włączony i wyłączony. Nazywamy te stany bitami . Bit to 0 lub 1. Wiele bitów razem tworzy większe liczby. Osiem bitów tworzy bajt . Za pomocą bitów możemy liczyć. Za pomocą liczenia możemy nazywać rzeczy. ASCII używa liczenia do nazywania liter i symboli.
Jeden bit daje dwie możliwości. Dwa bity dają cztery możliwości. W matematyce tę ideę przedstawia się jako \(\;2^n\) . Dla \(n=7\) otrzymujemy \(2^7 = 128\) możliwości. Dla \(n=8\) otrzymujemy \(2^8 = 256\) możliwości. Kod ASCII używa 7 bitów. Daje to 128 nazwanych elementów. Później stworzono 8-bitowe zestawy z 256 elementami. Nazywa się je rozszerzonym kodem ASCII .
ASCII to skrót od American Standard Code for Information Interchange (amerykański standardowy kod wymiany informacji ). Został on opracowany w latach 60. XX wieku dla wczesnych drukarek, teletypów i komputerów. Przypisuje on każdej literze, cyfrze, spacji i niektórym symbolom numer. Nadaje również specjalne numery funkcjom, takim jak znak nowej linii . Pierwsza wersja używała 7 bitów, więc zawierała liczby od 0 do 127.
Zauważ coś ciekawego. Małe litery są o 32 większe niż ich pary wielkich. Na przykład, \(\;97 - 65 = 32\) . Zatem „a” jest o 32 większe niż „A”. „b” jest o 32 większe niż „B” i tak dalej. Ten wzór ułatwia niektóre zadania komputerowe.
Po naciśnięciu klawisza Enter komputer może wysłać LF, CR lub oba, w zależności od systemu. Wiele narzędzi internetowych używa LF. Niektóre starsze systemy używały CR i LF jednocześnie.
Liczby możemy zapisywać na różne sposoby. System dziesiętny to standardowy sposób liczenia, używając cyfr od 0 do 9. System binarny używa tylko 0 i 1. System szesnastkowy (heksadecymalny) używa cyfr od 0 do 9 i od A do F.
Jak w systemie binarnym 65 odpowiada „A”? Spójrz na bity w 01000001. Skrajnie lewy bit odpowiada 128. Następnie 64, 32, 16, 8, 4, 2, 1. Tylko 64 i 1 są włączone. Zatem \(01000001_{(2)} = 0\times128 + 1\times64 + 0\times32 + 0\times16 + 0\times8 + 0\times4 + 0\times2 + 1\times1 = 65\) .
Naciśnij klawisz. Klawiatura wysyła kod do komputera. System zamienia go na liczbę znaków. W przypadku wielu klawiszy liczba ta jest liczbą ASCII. Aplikacja zapisuje liczbę w pamięci. Po wyświetleniu tekstu wyszukuje liczbę i rysuje literę. Po zapisaniu liczby trafiają do pliku.
Pomyśl o wiadomości „Hi!” . Litery to H, i oraz !. Ich numery ASCII to 72, 105 i 33. W systemie binarnym są to 01001000, 01101001 i 00100001. Sieć wysyła te bity. Druga strona odczytuje bity. Widzi liczby. Ponownie pokazuje H, i oraz !. Tak przesyłane są proste wiadomości tekstowe.
Ludzie chcieli więcej symboli. Chcieli liter takich jak é, ñ i ø. Chcieli symboli walutowych, takich jak €. Zestaw 7-bitowy miał tylko 128 symboli. Dlatego używano 8 bitów. Z 8 bitami otrzymujemy \(2^8 = 256\) symboli. Górna połowa, od 128 do 255, była przeznaczona na dodatkowe litery i symbole. Pojawił się jednak pewien problem. Różne grupy wybierały różne liczby dla tych dodatkowych liter. Te opcje nazywane są stronami kodowymi .
Ponieważ strony kodowe się różnią, ten sam numer może wyświetlać inny symbol na innym komputerze. To pomieszanie nazywa się mojibake . Wygląda jak dziwne znaki. To jeden z powodów, dla których świat przeszedł na Unicode.
Unicode to obszerny standard, który obsługuje wiele języków, symbole matematyczne i emoji. Oferuje miejsce na ponad milion symboli. Istnieje wiele sposobów przechowywania Unicode. Jednym z popularnych jest UTF-8 .
W przypadku tekstu wyłącznie w formacie ASCII każdy znak zajmuje jeden bajt. Zatem słowo „cat” zajmuje 3 bajty. Fraza „hi mom” ma 6 znaków, wliczając spację, więc zajmuje 6 bajtów. W prostych obliczeniach, \(\textrm{Bajty ASCII} = \textrm{liczba znaków}\) .
Komputery często sortują ciągi znaków według numerów. Kolejność ASCII grupuje elementy w określony sposób.
Oznacza to, że Zoo jest przed Apple , jeśli porównamy proste wartości ASCII. Sortowanie odbywa się według liczb, a nie brzmienia słów.
Zwróć uwagę, że znak ampersand to &. Jego numer ASCII to 38. Znak plus + to 43. Znak minus - to 45.
Ludzie tworzą obrazy używając wyłącznie znaków. To się nazywa sztuka ASCII . Oto mała buzia zrobiona ze znaków ASCII.
:-) Prosty uśmiech
(^_^) Przyjazna twarz
o_O Zaskoczony
Każda twarz składa się tylko ze znaków, takich jak dwukropek, myślnik i nawias. Żadnych kolorów ani kształtów. Tylko tekst.
Standard ASCII wywodzi się z teletypów i wczesnych komputerów. W 1963 roku uzgodniono pierwszą wersję. Umożliwił on komunikację między wieloma różnymi maszynami. Dzięki wspólnemu kodowi, litera taka jak A oznaczała wszędzie tę samą cyfrę. Ułatwiło to wysyłanie wiadomości i drukowanie tekstu.
ASCII ma tylko 128 elementów. To nie wystarcza dla wszystkich języków. Nie obsługuje on chińskiego, hindi, arabskiego ani wielu innych alfabetów. Nie obsługuje też emoji. Nie obsługuje również wielu symboli matematycznych i muzycznych. Do tego celu używamy Unicode. Unicode obsługuje wiele alfabetów i symboli. UTF-8 to sposób ich przechowywania. Dobrą wiadomością jest to, że cały tekst ASCII działa w UTF-8. Dzięki temu nowoczesne systemy mogą z łatwością odczytywać stare ASCII.
Większość aplikacji oczekuje UTF-8. Ale jeśli plik zawiera tylko litery i symbole ASCII, wygląda tak samo w UTF-8. Programiści cenią to rozwiązanie, ponieważ upraszcza ono sprawę. Strony internetowe, interfejsy API i wiele narzędzi korzystają z UTF-8, które zawiera ASCII bez żadnych zmian.
ASCII to zbiór 7-bitowy. Oznacza to do \(2^7 = 128\) różnych znaków. Rozszerzony zbiór 8-bitowy ma \(2^8 = 256\) elementów. Jeśli tekst zawiera tylko znaki ASCII i ma \(n\) znaków, to używa \(n\) bajtów. W krótkiej wiadomości, takiej jak OK , \(n = 2\) . Zatem, gdy jest przechowywany w ASCII lub UTF-8, używa 2 bajtów.
Niektóre elementy ASCII wykonują akcje i nie są drukowane. Spacja drukuje puste miejsce. Natomiast klawisze LF i CR przesuwają kursor. Klawisz TAB powoduje skoki. Po otwarciu pliku w specjalnym edytorze, LF może być wyświetlany jako \n. Ten symbol nie jest częścią samego kodu ASCII. To sposób, w jaki edytor wyświetla podział wiersza.
Wyobraź sobie drukarkę etykiet, która drukuje imiona. Odczytuje imię jako znak. Zamienia każdy znak na cyfry ASCII. Zapisuje te cyfry w pamięci. Drukuje litery, sprawdzając, jak narysować każdą cyfrę. Jeśli trafi na znak LF (10), przechodzi do następnego wiersza przed wydrukowaniem kolejnych.
Spójrz ponownie na znak „!”. Jego kod możemy zapisać na trzy sposoby. Dziesiętny: 33. Binarny: 00100001. Szesnastkowy: 21. W postaci matematycznej, \(\;33_{(10)} = 00100001_{(2)} = 21_{(16)}\) . Każda postać ma tę samą wartość. Aplikacje wybierają potrzebną postać. Ludzie często odczytują liczby dziesiętne. Komputery lubią system binarny. Szesnastkowy to skrócony sposób odczytu liczb binarnych.
Kod ASCII jest mały i przejrzysty. Powstał wcześnie. Wiele narzędzi i protokołów zostało na nim zbudowanych. Ponieważ pierwsze 128 kodów Unicode pasuje do ASCII, ten plan działa do dziś. Dlatego można otworzyć bardzo stare pliki tekstowe na nowym telefonie lub laptopie i zobaczyć te same litery.
Otwórz plik z tekstem „Hello” . Bajty to liczby ASCII 72 101 108 108 111. W systemie binarnym są to 01001000 01100101 01101100 01101100 01101111. Aplikacja odczytuje każdą liczbę i wyświetla na ekranie napis „Hello”. Jeśli następna liczba to 10, przechodzi do nowego wiersza przed napisaniem kolejnego tekstu. To taki prosty i stabilny proces.
Pomyśl o liczbie 10. W systemie binarnym to 00001010. W systemie dziesiętnym to dziesięć. W kodzie ASCII 10 to LF, czyli znak nowej linii. To pokazuje, jak tę samą liczbę można przedstawić na różne sposoby. Znaczenie wynika ze sposobu, w jaki używamy tej liczby. Jeśli mówimy, że to kod znaku, to 10 oznacza LF. Jeśli mówimy, że to po prostu liczba jabłek, to jest to dziesięć jabłek. Kontekst ma znaczenie.
Prześlemy słowo „Słońce” z jednego urządzenia do drugiego. Kody to „S” 83, „u” 117, „n” 110. W systemie binarnym 83 to 01010011, 117 to 01110101, a 110 to 01101110. Bity przesyłane są jako sygnały „włącz” i „wyłącz”. Drugie urządzenie zamienia bity z powrotem na liczby. Następnie zamienia liczby na litery. Wyświetla słowo „Słońce ”. Jeśli następny kod to 32, oznacza to spację. Jeśli następny to 33, oznacza to „!”. Zasady pozostają niezmienne za każdym razem. Taka jest moc współdzielonego kodu.