December 22,2021

Różne zestawy znaków ASCII i ANSI - z nową tabelą!

by Kolbowicz Marek

Jeśli przytrzymasz klawisz Alt i wpiszesz „0137”, nie wprowadzasz znaku ASCII, ale znak ANSI. System Windows nie używa zestawu znaków ASCII, ale zestaw znaków ANSI, który odpowiada zestawowi znaków ASCII w dolnym zakresie od 0 do 127, ale już nie powyżej.

Z biegiem czasu różnice te narastały. Komputer pracuje z bitami i bajtami. Bit może mieć tylko dwa stany, „0” lub „1”. Komputer musi wyświetlać wszystko wewnętrznie w postaci zer i jedynek. Ale nasz prawdziwy świat składa się z większej liczby znaków niż zero i jeden. Na początku ery komputerów trzeba było znaleźć konwencję, jak wyświetlać bardziej złożone znaki w komputerze. W tym celu bity zostały połączone w bajty. Przede wszystkim wzięto pod uwagę tylko liczby i znaki występujące w Ameryce, ponieważ twórcy byli w Ameryce u siebie. Ponieważ angielski prawie nigdy nie zawiera znaków specjalnych, takich jak niemiecki, hiszpański lub inne języki, pierwszym krokiem było użycie 7 bitów na bajt. W ten sposób liczby i litery mogą być reprezentowane przez różne sekwencje zer i jedynek. Na przykład liczba 25 wygląda tak, zapisana zerami i jedynkami, w tak zwanym „kodzie binarnym” (bi = 2, czyli zero i jeden): 11001.

Przy 7 bitach na 1 bajt, w ten sposób powstaje 128 (= 2 do potęgi 7) różnych możliwości. Komputer zaczyna się od zera, więc daje znaki 0-127, jak wskazano w tabeli w artykule «Tabela ASCII dla znaków specjalnych».

W tabeli widać jeszcze więcej znaków, czyli znaków do kodu 255. Wynika to z faktu, że 7 bitów wkrótce przestało wystarczać do reprezentowania znaków, które nie występują w amerykańskim, np. niemieckie umlauty czy hiszpańskie litery z tyldą . Tak więc jeden bajt został rozszerzony do 8 bitów, co daje w sumie 256 (= 2 do potęgi 8) możliwości. W przeciwieństwie do standardowego kodu ASCII od 0 do 127, istnieją różne opcje reprezentacji znaków od 128 do 255. Jednym z nich jest tzw. kod ANSI (ANSI = American National Standards Institute), który jest używany w systemie Windows. W kodzie ANSI 137 jest przypisane do symbolu alkoholu. Jak widać w tabeli kodów ASCII, znak 137 jest już zajęty przez literę «ë», więc w ANSI, aby móc wygenerować znak promil, przed 137 należy wpisać zero przed znakiem ASCII 137 nie pojawia się na ekranie. Oznacza to, że kody ASCII mają maksymalnie trzy cyfry, ale kody ANSI mają również cztery cyfry.

Nie wszystkie znaki z ANSI i ASCII są zgodne. Tylko prawa połowa (ANSI) $ ('. MagnificPopup'). MagnificPopup ({
typ: 'obraz'
});

Na stronie SELFHTML znajdziesz jeszcze bardziej szczegółową reprezentację relacji i to porównanie dwóch tabel: Jak widać, zestaw znaków ANSI nadal zawiera kilka luk w tej reprezentacji, np. dla kodu cyfrowego 128, który jest w kodzie ASCII ze znakiem «Ç» jest połączony. W międzyczasie kod 0128 został przypisany do symbolu euro „€” w zestawie znaków ANSI.

Mylące jest to, że istnieją różne kody dla tych samych znaków w obu zestawach znaków, na przykład wskazany cudzysłów „jest generowany z Alt + 174 w kodzie ASCII, ale z Alt + 0171 w kodzie ANSI. Wynikiem jest ten sam znak, więc możesz swobodnie zdecydować, którego z dwóch kodów chcesz użyć w takich przypadkach.

W dolnym obszarze tabeli do 127 zupełnie nie ma znaczenia czy przed kodem wstawisz zero czy dwa zera, zawsze pojawia się tam ten sam znak np. nie ma znaczenia czy wstawisz Alt+65, Alt + 065 lub Alt + 0065 Wpisz, zawsze otrzymasz wielką literę «A».

Aktualizacja z sierpnia 2019 r.: Poniżej znajduje się tabela znaków od 1 do 255 użytego zestawu znaków. Jeśli chcesz wprowadzić jeden z nich w systemie Windows, najlepiej jest utworzyć czterocyfrowy numer z powiązanego numeru.

Zrób z niego czterocyfrowe liczby (np. 0160) i wpisz liczbę, przytrzymując klawisz Alt $ ('.MagnificPopup').
typ: 'obraz'
});

Przykład zastosowania: Dla znaku z liczbą 160 (jest to „spacja nierozdzielająca”, spacja nierozdzielająca lub chroniona) wprowadź cyfry liczby cztery: 0160. Teraz naciśnij i przytrzymaj klawisz Alt podczas klikania Wpisz 0160 na klawiatura numeryczna. Voilà, masz niezniszczalną przestrzeń.

Porada: Możesz również użyć kodu ANSI do adresowania znaków w formułach programu Excel: „= ZNAK (160)” zwróci spację nierozdzielającą lub wyszuka ją.

  • Kolbowicz Marek
  • December 22,2021

Leave a Reply