Konwerter ASCII
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
Wzór konwertera ASCII
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
- 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. - Wybierz Typ: Na ASCII dla konwersji tekstu na liczby lub Na tekst dla konwersji liczb na tekst.
- 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 67dajeABC. 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,9lub10. 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.