PYTHON Ciągi znaków | Kodowanie znaków
Każdy symbol, litera, cyfra posiada swój numer – kod. Są różne rodzaje kodowania, między innymi:
- ASCII
- UTF-8 (system kodowania unicode)
UTF-8 jest głównym standardem kodowania m.in. dla stron internetowych.
W języku Python mamy dostępne funkcje zamieniające znak na jego kod dziesiętny i odwrotnie.
chr(x) – zamienia kod liczbowy na symbol
ord(x) – zamienia symbol na jego kod liczbowy
print(chr(65))
Efekt: A
print(ord('S'))
Efekt: 83
Odnajdziemy tu również i polskie znaki, np:
print(chr(260))
Efekt: Ą
Daje to nam chociażby takie możliwości, jak sprawdzenie jaki symbol ma kod o jeden wyższy o kodu zadanego symbolu, dla przykładu litery S:
print(chr(ord('S')+1))
Efekt: T
Możemy również wypisać grupę kolejnych symboli:
s='' for x in range(65,91) : s = s + chr(x) print(s)
Efekt: ABCDEFGHIJKLMNOPQRSTUVWXYZ
Zróbmy to samo dla małych liter:
s='' for x in range(97,123) : s = s + chr(x) print(s)
Efekt: abcdefghijklmnopqrstuvwxyz
Możemy również poeksperymentować i zobaczyć, jakie symbole znajdują się w innych zakresach kodów, np:
s='' for x in range(20000,20201) : s = s + chr(x) print(s)
Efekt: sprawdźcie sami 😉
Na koniec sprawdźmy, jakie kody mają polskie znaki:
polskie = 'ąćęłńóśżźĄĆĘŁŃÓŚŻŹ' for x in polskie : print(x,"-",ord(x))
Efekt:
ą – 261
ć – 263
ę – 281
ł – 322
ń – 324
ó – 243
ś – 347
ż – 380
ź – 378
Ą – 260
Ć – 262
Ę – 280
Ł – 321
Ń – 323
Ó – 211
Ś – 346
Ż – 379
Ź – 377
Sekwencje ucieczki
Aby umieścić w ciągu znaków elementy takie jak tabulator, przejście do nowej linii, apostrof czy cudzysłów posłużymy się sekwencjami ucieczki:
Sekwencja ucieczki | Znaczenie |
---|---|
\t | tabulator |
\n | nowa linia |
\’ | apostrof |
\” | cudzysłów |
\\ | backslash |
Przykład:
x = 'a\'bc\"de\\fg\thi\njk' print(x)
Efekt:
a’bc”de\fg hi
jk