Twoje Centrum Szkoleniowe

Nauczmy się dziś czegoś nowego!

Kurs programowania - Python

PYTHON Ciągi znaków | Kodowanie znaków

 

W komputerach, każdy znak - czy to litera alfabetu, cyfra, czy symbol - jest reprezentowany przez unikatowy kod liczbowy. Istnieje kilka standardów kodowania, z których najbardziej powszechnymi są ASCII i UTF-8. UTF-8, będący standardem Unicode, jest szeroko używany, zwłaszcza na stronach internetowych.

Funkcje chr() i ord()

W Pythonie możemy łatwo konwertować znaki na ich odpowiadające kody liczbowe i vice versa, dzięki funkcjom chr() i ord().

  • chr(x): Zamienia kod liczbowy na odpowiadający mu znak.
  • ord(x): Zamienia znak 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

 

Testy przypięte do lekcji
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się
Aby widzieć ocenę lekcji - Zaloguj się