Przejdź do treści
Ulubione

Konwerter ASCII

Zaktualizowano:

Zamień tekst na kody znaków oddzielone spacjami lub przekształć kody dziesiętne z powrotem na tekst. Wpisz treść i wybierz Na ASCII lub Na tekst.

Konwerter tekstu na kody ASCII

Pola danych
Po włączeniu wynik aktualizuje się automatycznie po zmianie dowolnej wartości.

Wzór konwertera ASCII

Wzór
\[ a_i=\operatorname{codeUnit}(c_i),\qquad c_i=\operatorname{fromCodeUnit}(a_i\bmod 65536) \]

Gdzie:

  • \(c_i\) — jedna jednostka kodowa UTF-16 tekstu.
  • \(a_i\) — jej dziesiętna wartość liczbowa.
  • \(i\) — pozycja jednostki kodowej w danych wejściowych.

Na ASCII wypisuje wartość dziesiętną każdej jednostki kodowej UTF-16, oddzieloną spacjami. Na tekst przekształca każdą podaną liczbę całkowitą dziesiętną z powrotem w jednostkę kodową UTF-16; operacja modulo opisuje sposób obsługi poprawnych liczb całkowitych spoza zakresu 0–65535.

Konwerter ASCII – przykład obliczenia

Przykład: wpisz Hi! jako Treść i wybierz Na ASCII. Znaki mają wartości dziesiętne 72, 105 i 33.

\[ \text{Hi!}\longrightarrow 72\quad 105\quad 33 \]

Wynik: 72 105 33. Aby odwrócić konwersję, wybierz Na tekst i wpisz 72 105 33; wynikiem jest Hi!.

Jak korzystać z konwertera ASCII

  1. Wpisz dane wejściowe w polu Treść. Dla opcji Na ASCII wpisz tekst, który chcesz przekonwertować. Dla opcji Na tekst wprowadź kody dziesiętne oddzielone spacjami lub innymi białymi znakami, na przykład 72 105 33.
  2. Wybierz Typ: Na ASCII dla konwersji tekstu na liczby lub Na tekst dla konwersji liczb na tekst.
  3. Odczytaj przekonwertowaną wartość w polu Wynik. Możesz ją skopiować i użyć w innym miejscu.

Pole Treść jest początkowo puste, więc przed konwersją wpisz coś. Tryb Na tekst usuwa białe znaki wokół listy kodów i traktuje białe znaki między kodami jako separator. Aby uzyskać spację w zdekodowanym tekście, użyj kodu 32.

Co oznaczają kody

ASCII przypisuje liczby 128 znakom i kodom sterującym, numerowanym od 0 do 127. Typowe przykłady to A jako 65, a jako 97 oraz znak spacji jako 32. Zamiana znanych liter na ich kody liczbowe może pomóc w analizie tekstu, sprawdzaniu danych wymienianych między programami lub zrozumieniu, jak reprezentowane są znaki.

Niezależnie od nazwy ten konwerter nie ogranicza się do wartości ASCII. W trybie Na ASCII korzysta z reprezentacji UTF-16 używanej w JavaScripcie: pobiera każdą jednostkę kodową UTF-16 i wypisuje jej wartość dziesiętną. Standardowe znaki ASCII dają swoje zwykłe kody ASCII. Wiele innych znaków daje wartości powyżej 127, więc tych wartości nie należy nazywać standardowymi kodami ASCII.

W trybie Na tekst konwerter odczytuje każdy wpis oddzielony białymi znakami jako liczbę całkowitą dziesiętną i tworzy z niej jednostkę kodową UTF-16. Kody od 0 do 127 odpowiadają standardowemu ASCII; inne poprawne wartości jednostek kodowych mogą dawać znaki spoza ASCII. Wynik może też zawierać znaki niewidoczne, takie jak znak nowej linii, więc jego wygląd może nie ujawniać każdego zawartego w nim kodu.

To rozróżnienie ma największe znaczenie dla emoji i niektórych mniej popularnych symboli. Są one reprezentowane przez dwie jednostki kodowe UTF-16, więc tryb Na ASCII wypisuje dwie liczby, a nie jeden punkt kodowy Unicode. Jeśli potrzebujesz bajtów lub innego kodowania, ten wynik nie jest listą bajtów UTF-8.

Założenia i praktyczne wskazówki

  • W trybie Na tekst używaj liczb dziesiętnych. Na przykład 65 66 67 daje ABC. Konwerter nie odczytuje zapisu szesnastkowego ani binarnego jako dedykowanego formatu wejściowego.
  • Rozdzielaj kody białymi znakami. Konwerter nie używa przecinków jako separatorów, więc unikaj wpisów takich jak 65,66.
  • Aby uzyskać spację, tabulator lub znak nowej linii w zdekodowanym tekście, użyj odpowiednio 32, 9 lub 10. Spacje wpisane między kodami liczbowymi jedynie rozdzielają kolejne wpisy.
  • Dla przewidywalnych wyników używaj poprawnych kodów będących liczbami całkowitymi. To narzędzie nie waliduje każdego wpisu przed konwersją: błędne wartości mogą dać nieoczekiwany lub niewidoczny znak. Liczby całkowite spoza zakresu jednostek kodowych UTF-16 zawijają się do wartości od 0 do 65535.
  • Skopiuj wynik, jeśli znaki niewidoczne utrudniają jego podgląd na stronie. Aby niezależnie sprawdzić, ile tekstu wprowadziłeś, wypróbuj Licznik znaków.

Jeśli pracujesz z reprezentacjami liczb, a nie kodami znaków, Konwerter szesnastkowy i Konwerter binarny obsługują inne formaty liczbowe. Ich wyniki nie są wymienne z dziesiętnymi kodami znaków oddzielonymi spacjami wytwarzanymi przez ten konwerter bez dodatkowego kroku interpretacji.

Typowe wartości ASCII

Znak lub kod sterujący Kod dziesiętny
Spacja 32
Wykrzyknik (!) 33
Cyfra 0 48
Wielka litera A 65
Mała litera a 97
Znak nowej linii (line feed) 10

Tabela przedstawia wartości dziesiętne, zgodne z liczbami, które ten konwerter wytwarza dla tych znaków ASCII. Znak nowej linii to znak sterujący: tworzy przejście do nowej linii, a nie widoczną literę.

Najczęściej zadawane pytania

Jak znaleźć kody ASCII ręcznie?

Skorzystaj z tablicy ASCII, aby ustalić wartość wyjściową, a następnie licz dalej. Wielka litera A to 65, więc C to 67; mała litera a to 97, więc c to 99. Cyfry zaczynają się od 48 dla zera, więc 7 to 55. Te skróty działają dla standardowych znaków ASCII, ale nie dla dowolnych symboli Unicode.

Jakich wartości ASCII mogę się spodziewać dla liter i cyfr?

Standardowe wartości ASCII mieszczą się w zakresie od 0 do 127. Wielkie litery zajmują zakres 65–90, małe litery 97–122, a cyfry 48–57. Nie istnieje wartość „dobra”: liczba identyfikuje znak, a nie mierzy jego jakości. Wartości powyżej 127 mogą być poprawnym wynikiem tego konwertera, ale nie są standardowymi wartościami ASCII.

Dlaczego litera z akcentem ma inną wartość bajtową w UTF-8?

Ten konwerter podaje jednostki kodowe UTF-16, a nie zakodowane bajty. Na przykład é daje tutaj wartość dziesiętną 233, podczas gdy jego kodowanie UTF-8 składa się z dwóch bajtów, 195 i 169. Obie reprezentacje opisują ten sam znak w różny sposób. Jeśli potrzebujesz bajtów do pliku lub komunikatu sieciowego, użyj kodera UTF-8.

Dlaczego liczb jest więcej niż widocznych znaków?

Widoczny znak nie zawsze odpowiada jednej jednostce kodowej UTF-16. Emoji może dać dwie liczby, a litera z łączącym akcentem może dać osobne liczby, mimo że wygląda jak jeden znak. Znaki końca linii mogą też być obecne bez widocznych symboli. Traktuj wynik jako liczbę jednostek kodowych, a niekoniecznie jako liczba znaków widzianych przez czytelnika.

Co się stanie, jeśli wpiszę liczbę ujemną lub nieprawidłowy kod?

Liczby całkowite ujemne zawijają się do zakresu jednostek kodowych UTF-16: na przykład −1 staje się 65535. Konwerter nie przeprowadza ścisłej walidacji wpisów; parsuje początek każdego tokena jako liczbę całkowitą dziesiętną. Tak więc `65abc` może dać A, a token bez parsowalnej liczby może dać niewidoczny znak pusty. Dla wiarygodnych wyników używaj zwykłych liczb całkowitych.

Dlaczego znaki nowej linii odpowiadają czasem wartości 10, a czasem 13 10?

Różne systemy różnie reprezentują końce linii. Znak nowej linii w stylu Uniksa to zwykle line feed, kod 10. Koniec linii w stylu Windows zazwyczaj używa znaku powrotu karetki oraz line feed, kodów 13 10. Jeśli porównujesz przekonwertowany tekst z różnych źródeł, sprawdź oba kody; wyświetlany wynik może wyglądać tak samo mimo różnych wartości bazowych.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *