{"id":1560,"date":"2026-04-30T11:18:59","date_gmt":"2026-04-30T09:18:59","guid":{"rendered":"https:\/\/trzykody.pl\/?p=1560"},"modified":"2026-04-30T11:19:01","modified_gmt":"2026-04-30T09:19:01","slug":"ascii-jak-dziala-na-poziomie-bitow-i-dlaczego-ten-standard-przetrwal-dekady-mimo-ograniczen","status":"publish","type":"post","link":"https:\/\/trzykody.pl\/index.php\/2026\/04\/30\/ascii-jak-dziala-na-poziomie-bitow-i-dlaczego-ten-standard-przetrwal-dekady-mimo-ograniczen\/","title":{"rendered":"Ascii: jak dzia\u0142a na poziomie bit\u00f3w i dlaczego ten standard przetrwa\u0142 dekady mimo ogranicze\u0144"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Kodowanie znak\u00f3w to fundament komunikacji mi\u0119dzy programem a cz\u0142owiekiem, a tak\u017ce mi\u0119dzy r\u00f3\u017cnymi systemami. Ka\u017cdy tekst zapisany w pliku, przes\u0142any przez sie\u0107 albo wy\u015bwietlony na ekranie jest w rzeczywisto\u015bci sekwencj\u0105 liczb. Te liczby musz\u0105 by\u0107 interpretowane zgodnie z ustalonym standardem, inaczej pojawiaj\u0105 si\u0119 losowe symbole. W praktyce przez wiele lat podstawowym standardem by\u0142 ascii i to w\u0142a\u015bnie on zdefiniowa\u0142, jak reprezentowa\u0107 litery, cyfry oraz znaki steruj\u0105ce w postaci 7-bitowych warto\u015bci.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Spis Tre\u015bci<\/h2><nav><ol><li><a href=\"#struktura-kodowania-ascii-oraz-znaczenie-zakresow-znakow-sterujacych-i-drukowalnych\">Struktura kodowania ascii oraz znaczenie zakres\u00f3w znak\u00f3w steruj\u0105cych i drukowalnych<\/a><\/li><li><a href=\"#mechanizm-konwersji-znakow-na-liczby-i-odwrotnie-w-ascii-w-praktyce-programistycznej\">Mechanizm konwersji znak\u00f3w na liczby i odwrotnie w ascii w praktyce programistycznej<\/a><ol><li><a href=\"#przyklady-kodu\">Przyk\u0142ady kodu<\/a><\/li><\/ol><\/li><li><a href=\"#operacje-na-znakach-wykorzystujace-wlasciwosci-ascii-zamiast-kosztownych-funkcji-bibliotecznych\">Operacje na znakach wykorzystuj\u0105ce w\u0142a\u015bciwo\u015bci ascii zamiast kosztownych funkcji bibliotecznych<\/a><ol><li><a href=\"#zamiana-malych-liter-na-wielkie\">Zamiana ma\u0142ych liter na wielkie<\/a><\/li><li><a href=\"#sprawdzanie-czy-znak-jest-cyfra\">Sprawdzanie czy znak jest cyfr\u0105<\/a><\/li><\/ol><\/li><li><a href=\"#ograniczenia-ascii-i-realne-problemy-przy-pracy-z-tekstem-wielojezycznym\">Ograniczenia ascii i realne problemy przy pracy z tekstem wieloj\u0119zycznym<\/a><\/li><li><a href=\"#jak-ascii-stal-sie-fundamentem-dla-nowszych-standardow-takich-jak-utf-8-i-dlaczego-nadal-ma-znaczenie\">Jak ascii sta\u0142 si\u0119 fundamentem dla nowszych standard\u00f3w takich jak UTF-8 i dlaczego nadal ma znaczenie<\/a><\/li><li><a href=\"#typowe-pulapki-przy-pracy-z-ascii-w-nowoczesnych-systemach\">Typowe pu\u0142apki przy pracy z ascii w nowoczesnych systemach<\/a><\/li><li><a href=\"#faq\">FAQ<\/a><\/li><li><a href=\"#krotkie-uwagi-koncowe\">Kr\u00f3tkie uwagi ko\u0144cowe<\/a><\/li><\/ol><\/nav><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Standard powsta\u0142 w latach 60., gdy pami\u0119\u0107 by\u0142a droga, a przepustowo\u015b\u0107 \u0142\u0105czy ograniczona. Projektanci zdecydowali si\u0119 na 7 bit\u00f3w, co daje 128 mo\u017cliwych warto\u015bci (0\u2013127). To wystarcza\u0142o dla alfabetu angielskiego, cyfr i podstawowych znak\u00f3w interpunkcyjnych.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"struktura-kodowania-ascii-oraz-znaczenie-zakresow-znakow-sterujacych-i-drukowalnych\">Struktura kodowania ascii oraz znaczenie zakres\u00f3w znak\u00f3w steruj\u0105cych i drukowalnych<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tablica ascii dzieli si\u0119 na dwie g\u0142\u00f3wne cz\u0119\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>0\u201331: znaki steruj\u0105ce (control characters)<\/li>\n\n\n\n<li>32\u2013126: znaki drukowalne<\/li>\n\n\n\n<li>127: DEL (delete)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Znaki steruj\u0105ce nie s\u0105 widoczne jako symbole, ale maj\u0105 konkretne funkcje, np. sterowanie terminalem czy transmisj\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142adowe warto\u015bci:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Kod dziesi\u0119tny<\/th><th>Kod binarny<\/th><th>Symbol<\/th><th>Opis<\/th><\/tr><\/thead><tbody><tr><td>65<\/td><td>01000001<\/td><td>A<\/td><td>wielka litera<\/td><\/tr><tr><td>97<\/td><td>01100001<\/td><td>a<\/td><td>ma\u0142a litera<\/td><\/tr><tr><td>48<\/td><td>00110000<\/td><td>0<\/td><td>cyfra<\/td><\/tr><tr><td>10<\/td><td>00001010<\/td><td>LF<\/td><td>nowa linia<\/td><\/tr><tr><td>13<\/td><td>00001101<\/td><td>CR<\/td><td>powr\u00f3t karetki<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Istotna obserwacja: r\u00f3\u017cnica mi\u0119dzy wielk\u0105 a ma\u0142\u0105 liter\u0105 to dok\u0142adnie 32 (bit 5). To umo\u017cliwia szybkie operacje na znakach bez u\u017cycia tablic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"mechanizm-konwersji-znakow-na-liczby-i-odwrotnie-w-ascii-w-praktyce-programistycznej\">Mechanizm konwersji znak\u00f3w na liczby i odwrotnie w ascii w praktyce programistycznej<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Konwersja znak \u2194 liczba to operacja bezpo\u015brednia &#8211; znak jest reprezentowany przez swoj\u0105 warto\u015b\u0107 liczbow\u0105.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"przyklady-kodu\">Przyk\u0142ady kodu<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>J\u0119zyk<\/th><th>Kod<\/th><\/tr><\/thead><tbody><tr><td>C<\/td><td><code>c\\n#include &lt;stdio.h&gt;\\nint main() {\\n char c = 'A';\\n printf(\\\"%d\\\\n\\\", c);\\n return 0;\\n}\\n<\/code><\/td><\/tr><tr><td>C++<\/td><td><code>cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint main() {\\n char c = 'A';\\n cout &lt;&lt; (int)c &lt;&lt; endl;\\n return 0;\\n}\\n<\/code><\/td><\/tr><tr><td>Python<\/td><td><code>python\\nc = 'A'\\nprint(ord(c))\\n<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Konwersja odwrotna:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>J\u0119zyk<\/th><th>Kod<\/th><\/tr><\/thead><tbody><tr><td>C<\/td><td><code>c\\n#include &lt;stdio.h&gt;\\nint main() {\\n int x = 65;\\n printf(\\\"%c\\\\n\\\", x);\\n return 0;\\n}\\n<\/code><\/td><\/tr><tr><td>C++<\/td><td><code>cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint main() {\\n int x = 65;\\n cout &lt;&lt; (char)x &lt;&lt; endl;\\n return 0;\\n}\\n<\/code><\/td><\/tr><tr><td>Python<\/td><td><code>python\\nx = 65\\nprint(chr(x))\\n<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"operacje-na-znakach-wykorzystujace-wlasciwosci-ascii-zamiast-kosztownych-funkcji-bibliotecznych\">Operacje na znakach wykorzystuj\u0105ce w\u0142a\u015bciwo\u015bci ascii zamiast kosztownych funkcji bibliotecznych<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dzi\u0119ki przewidywalno\u015bci kodowania mo\u017cna wykonywa\u0107 operacje matematyczne zamiast wywo\u0142a\u0144 funkcji.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"zamiana-malych-liter-na-wielkie\">Zamiana ma\u0142ych liter na wielkie<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>J\u0119zyk<\/th><th>Kod<\/th><\/tr><\/thead><tbody><tr><td>C<\/td><td><code>c\\nchar to_upper(char c) {\\n if (c &gt;= 'a' &amp;&amp; c &lt;= 'z') return c - 32;\\n return c;\\n}\\n<\/code><\/td><\/tr><tr><td>Python<\/td><td><code>python\\ndef to_upper(c):\\n if 'a' &lt;= c &lt;= 'z':\\n return chr(ord(c) - 32)\\n return c\\n<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sprawdzanie-czy-znak-jest-cyfra\">Sprawdzanie czy znak jest cyfr\u0105<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>J\u0119zyk<\/th><th>Kod<\/th><\/tr><\/thead><tbody><tr><td>C<\/td><td><code>c\\nint is_digit(char c) {\\n return c &gt;= '0' &amp;&amp; c &lt;= '9';\\n}\\n<\/code><\/td><\/tr><tr><td>Python<\/td><td><code>python\\ndef is_digit(c):\\n return '0' &lt;= c &lt;= '9'\\n<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Zysk: brak zale\u017cno\u015bci od bibliotek, przewidywalna wydajno\u015b\u0107.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ograniczenia-ascii-i-realne-problemy-przy-pracy-z-tekstem-wielojezycznym\">Ograniczenia ascii i realne problemy przy pracy z tekstem wieloj\u0119zycznym<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ascii obs\u0142uguje wy\u0142\u0105cznie:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>alfabet \u0142aci\u0144ski bez znak\u00f3w diakrytycznych<\/li>\n\n\n\n<li>brak wsparcia dla j\u0119zyk\u00f3w typu polski, niemiecki, francuski (\u0105, \u0142, \u00e9, \u00f6)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Typowe problemy:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Utrata danych \u2014 znaki spoza zakresu s\u0105 zast\u0119powane (np. <code>?<\/code>)<\/li>\n\n\n\n<li>B\u0142\u0119dy wy\u015bwietlania \u2014 krzaki zamiast tekstu<\/li>\n\n\n\n<li>Problemy z sortowaniem i por\u00f3wnywaniem<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Wej\u015bcie<\/th><th>ascii wynik<\/th><\/tr><\/thead><tbody><tr><td>&#8222;za\u017c\u00f3\u0142\u0107&#8221;<\/td><td>&#8222;zazolc&#8221; lub &#8222;?????&#8221;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dlatego powsta\u0142y rozszerzenia (Extended ASCII \u2013 8 bit\u00f3w), ale by\u0142y niesp\u00f3jne (r\u00f3\u017cne tablice kodowe).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"jak-ascii-stal-sie-fundamentem-dla-nowszych-standardow-takich-jak-utf-8-i-dlaczego-nadal-ma-znaczenie\">Jak ascii sta\u0142 si\u0119 fundamentem dla nowszych standard\u00f3w takich jak UTF-8 i dlaczego nadal ma znaczenie<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">UTF-8 zosta\u0142 zaprojektowany tak, aby:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pierwsze 128 znak\u00f3w by\u0142o identyczne jak ascii<\/li>\n\n\n\n<li>rozszerza\u0107 zakres do pe\u0142nego Unicode<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To oznacza:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ka\u017cdy tekst ascii jest poprawnym UTF-8<\/li>\n\n\n\n<li>kompatybilno\u015b\u0107 wsteczna<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Znak<\/th><th>ascii<\/th><th>UTF-8<\/th><\/tr><\/thead><tbody><tr><td>A<\/td><td>65<\/td><td>65<\/td><\/tr><tr><td>\u20ac<\/td><td>brak<\/td><td>226 130 172<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">W praktyce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>protoko\u0142y sieciowe (HTTP, SMTP) bazuj\u0105 na ascii<\/li>\n\n\n\n<li>formaty plik\u00f3w (JSON, XML) u\u017cywaj\u0105 znak\u00f3w ascii jako podstawy<\/li>\n\n\n\n<li>parsowanie tekstu cz\u0119sto zak\u0142ada zakres ascii dla kontroli<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"typowe-pulapki-przy-pracy-z-ascii-w-nowoczesnych-systemach\">Typowe pu\u0142apki przy pracy z ascii w nowoczesnych systemach<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Zak\u0142adanie 1 bajt = 1 znak (fa\u0142sz dla UTF-8)<\/li>\n\n\n\n<li>R\u0119czne operacje na stringach bez sprawdzania kodowania<\/li>\n\n\n\n<li>Mieszanie kodowa\u0144 (np. ascii + UTF-8 + ISO-8859-2)<\/li>\n\n\n\n<li>B\u0142\u0119dne por\u00f3wnania znak\u00f3w narodowych<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Przyk\u0142ad b\u0142\u0119du:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Kod<\/th><th>Problem<\/th><\/tr><\/thead><tbody><tr><td><code>c\\nstrlen(\\\"\u0105\\\")\\n<\/code><\/td><td>wynik \u2260 1 w UTF-8<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Czy ascii nadal jest u\u017cywany?<\/strong><br>Tak, jako podzbi\u00f3r UTF-8 i w protoko\u0142ach niskopoziomowych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dlaczego ascii ma tylko 128 znak\u00f3w?<\/strong><br>Bo u\u017cywa 7 bit\u00f3w, co by\u0142o kompromisem mi\u0119dzy kosztami a funkcjonalno\u015bci\u0105.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Czy ascii obs\u0142uguje polskie znaki?<\/strong><br>Nie, potrzebne s\u0105 rozszerzenia lub Unicode.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Czy mo\u017cna bezpiecznie u\u017cywa\u0107 ascii w nowych projektach?<\/strong><br>Tylko jako cz\u0119\u015b\u0107 UTF-8, nie jako jedyne kodowanie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Dlaczego znaki steruj\u0105ce s\u0105 nadal obecne?<\/strong><br>S\u0105 u\u017cywane w protoko\u0142ach i systemach terminalowych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Czy operacje na znakach przez odejmowanie 32 s\u0105 zawsze bezpieczne?<\/strong><br>Tylko dla liter angielskich w ascii.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"krotkie-uwagi-koncowe\">Kr\u00f3tkie uwagi ko\u0144cowe<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ascii jest prosty, przewidywalny i nadal u\u017cyteczny jako baza. W praktyce rzadko wystarcza samodzielnie, ale jego znajomo\u015b\u0107 eliminuje wiele b\u0142\u0119d\u00f3w przy pracy z tekstem i pozwala pisa\u0107 bardziej \u015bwiadomy kod.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u0179r\u00f3d\u0142o Foto: Freepik<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kodowanie znak\u00f3w to fundament komunikacji mi\u0119dzy programem a cz\u0142owiekiem, a tak\u017ce mi\u0119dzy r\u00f3\u017cnymi systemami. Ka\u017cdy tekst zapisany w pliku, przes\u0142any przez sie\u0107 albo wy\u015bwietlony na ekranie jest w rzeczywisto\u015bci sekwencj\u0105 liczb. Te liczby musz\u0105 by\u0107 interpretowane zgodnie z ustalonym standardem, inaczej pojawiaj\u0105 si\u0119 losowe symbole. W praktyce przez wiele lat podstawowym standardem by\u0142 ascii i to w\u0142a\u015bnie on zdefiniowa\u0142, jak reprezentowa\u0107 litery, cyfry oraz znaki steruj\u0105ce w postaci 7-bitowych warto\u015bci. Standard powsta\u0142 w latach 60., gdy pami\u0119\u0107 by\u0142a droga, a przepustowo\u015b\u0107 \u0142\u0105czy ograniczona. Projektanci zdecydowali si\u0119 na 7 bit\u00f3w, co daje 128 mo\u017cliwych warto\u015bci (0\u2013127). To wystarcza\u0142o dla alfabetu angielskiego, cyfr i podstawowych znak\u00f3w interpunkcyjnych. Struktura kodowania ascii oraz znaczenie zakres\u00f3w znak\u00f3w steruj\u0105cych i drukowalnych Tablica ascii dzieli si\u0119 na dwie g\u0142\u00f3wne cz\u0119\u015bci: Znaki steruj\u0105ce nie s\u0105 widoczne jako symbole, ale maj\u0105 konkretne funkcje, np. sterowanie terminalem czy transmisj\u0105. Przyk\u0142adowe warto\u015bci: Kod dziesi\u0119tny Kod binarny Symbol Opis 65 01000001 A wielka litera 97 01100001 a ma\u0142a litera 48 00110000 0 cyfra 10 00001010 LF nowa linia 13 00001101 CR powr\u00f3t karetki Istotna obserwacja: r\u00f3\u017cnica mi\u0119dzy wielk\u0105 a ma\u0142\u0105 liter\u0105 to dok\u0142adnie 32 (bit 5). To umo\u017cliwia szybkie operacje na znakach bez u\u017cycia tablic. Mechanizm konwersji znak\u00f3w na liczby i odwrotnie w ascii w praktyce programistycznej Konwersja znak \u2194 liczba to operacja bezpo\u015brednia &#8211; znak jest reprezentowany przez swoj\u0105 warto\u015b\u0107 liczbow\u0105. Przyk\u0142ady kodu J\u0119zyk Kod C c\\n#include &lt;stdio.h&gt;\\nint main() {\\n char c = 'A&#8217;;\\n printf(\\&#8221;%d\\\\n\\&#8221;, c);\\n return 0;\\n}\\n C++ cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint main() {\\n char c = 'A&#8217;;\\n cout &lt;&lt; (int)c &lt;&lt; endl;\\n return 0;\\n}\\n Python python\\nc = 'A&#8217;\\nprint(ord(c))\\n Konwersja odwrotna: J\u0119zyk Kod C c\\n#include &lt;stdio.h&gt;\\nint main() {\\n int x = 65;\\n printf(\\&#8221;%c\\\\n\\&#8221;, x);\\n return 0;\\n}\\n C++ cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint main() {\\n int x = 65;\\n cout &lt;&lt; (char)x &lt;&lt; endl;\\n return 0;\\n}\\n Python python\\nx = 65\\nprint(chr(x))\\n Operacje na znakach wykorzystuj\u0105ce w\u0142a\u015bciwo\u015bci ascii zamiast kosztownych funkcji bibliotecznych Dzi\u0119ki przewidywalno\u015bci kodowania mo\u017cna wykonywa\u0107 operacje matematyczne zamiast wywo\u0142a\u0144 funkcji. Zamiana ma\u0142ych liter na wielkie J\u0119zyk Kod C c\\nchar to_upper(char c) {\\n if (c &gt;= 'a&#8217; &amp;&amp; c &lt;= 'z&#8217;) return c &#8211; 32;\\n return c;\\n}\\n Python python\\ndef to_upper(c):\\n if 'a&#8217; &lt;= c &lt;= 'z&#8217;:\\n return chr(ord(c) &#8211; 32)\\n return c\\n Sprawdzanie czy znak jest cyfr\u0105 J\u0119zyk Kod C c\\nint is_digit(char c) {\\n return c &gt;= '0&#8242; &amp;&amp; c &lt;= '9&#8242;;\\n}\\n Python python\\ndef is_digit(c):\\n return '0&#8242; &lt;= c &lt;= '9&#8217;\\n Zysk: brak zale\u017cno\u015bci od bibliotek, przewidywalna wydajno\u015b\u0107. Ograniczenia ascii i realne problemy przy pracy z tekstem wieloj\u0119zycznym ascii obs\u0142uguje wy\u0142\u0105cznie: Typowe problemy: Przyk\u0142ad: Wej\u015bcie ascii wynik &#8222;za\u017c\u00f3\u0142\u0107&#8221; &#8222;zazolc&#8221; lub &#8222;?????&#8221; Dlatego powsta\u0142y rozszerzenia (Extended ASCII \u2013 8 bit\u00f3w), ale by\u0142y niesp\u00f3jne (r\u00f3\u017cne tablice kodowe). Jak ascii sta\u0142 si\u0119 fundamentem dla nowszych standard\u00f3w takich jak UTF-8 i dlaczego nadal ma znaczenie UTF-8 zosta\u0142 zaprojektowany tak, aby: To oznacza: Przyk\u0142ad: Znak ascii UTF-8 A 65 65 \u20ac brak 226 130 172 W praktyce: Typowe pu\u0142apki przy pracy z ascii w nowoczesnych systemach Przyk\u0142ad b\u0142\u0119du: Kod Problem c\\nstrlen(\\&#8221;\u0105\\&#8221;)\\n wynik \u2260 1 w UTF-8 FAQ Czy ascii nadal jest u\u017cywany?Tak, jako podzbi\u00f3r UTF-8 i w protoko\u0142ach niskopoziomowych. Dlaczego ascii ma tylko 128 znak\u00f3w?Bo u\u017cywa 7 bit\u00f3w, co by\u0142o kompromisem mi\u0119dzy kosztami a funkcjonalno\u015bci\u0105. Czy ascii obs\u0142uguje polskie znaki?Nie, potrzebne s\u0105 rozszerzenia lub Unicode. Czy mo\u017cna bezpiecznie u\u017cywa\u0107 ascii w nowych projektach?Tylko jako cz\u0119\u015b\u0107 UTF-8, nie jako jedyne kodowanie. Dlaczego znaki steruj\u0105ce s\u0105 nadal obecne?S\u0105 u\u017cywane w protoko\u0142ach i systemach terminalowych. Czy operacje na znakach przez odejmowanie 32 s\u0105 zawsze bezpieczne?Tylko dla liter angielskich w ascii. Kr\u00f3tkie uwagi ko\u0144cowe Ascii jest prosty, przewidywalny i nadal u\u017cyteczny jako baza. W praktyce rzadko wystarcza samodzielnie, ale jego znajomo\u015b\u0107 eliminuje wiele b\u0142\u0119d\u00f3w przy pracy z tekstem i pozwala pisa\u0107 bardziej \u015bwiadomy kod. \u0179r\u00f3d\u0142o Foto: Freepik<\/p>\n","protected":false},"author":1,"featured_media":1561,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,24],"tags":[],"class_list":["post-1560","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-poradnik","category-kodowanie"],"_links":{"self":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1560","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/comments?post=1560"}],"version-history":[{"count":1,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1560\/revisions"}],"predecessor-version":[{"id":1562,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1560\/revisions\/1562"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media\/1561"}],"wp:attachment":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media?parent=1560"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/categories?post=1560"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/tags?post=1560"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}