PYTHON

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