π ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Python? ΠΡΠΎΡΡΠΎΠΉ Π³ΠΈΠ΄ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ord()
. Π€ΡΠ½ΠΊΡΠΈΡ ord()
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Unicode. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ord()
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° 'A':
code = ord('A')
print(code)
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠΈΡΠ»ΠΎ 65, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Π° 'A' Π² Unicode.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Python?
ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² Python, ΡΠΎ ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ord()
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ord(). ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΊΠΎΠ΄Π° Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°. ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
ch = 'A'
unicode_value = ord(ch)
print('ΠΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π°', ch, 'ΡΠ°Π²Π΅Π½', unicode_value)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ:
ΠΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° A ΡΠ°Π²Π΅Π½ 65
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ch, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» 'A'. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ord() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 65, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ 'A' Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° encode()
ΠΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° encode(). ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Π² Π±Π°ΠΉΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ. ΠΠ°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ° encoding. ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
ch = 'Π'
encoded_string = ch.encode('utf-8')
encoding = encoded_string.encoding
print('ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π°', ch, 'ΡΠ°Π²Π½Π°', encoding)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ:
ΠΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π° Π ΡΠ°Π²Π½Π° utf-8
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ch, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» 'Π'. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ encode('utf-8') Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Π±Π°ΠΉΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ UTF-8. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ° encoding Ρ Π±Π°ΠΉΡΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ chardet
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ chardet. ΠΠ°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
import chardet
text = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
detected_encoding = chardet.detect(text.encode())
encoding = detected_encoding['encoding']
print('ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠ°:', encoding)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ:
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΠ΅ΠΊΡΡΠ°: utf-8
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ chardet ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ text, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΡΡ "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!". ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ detect() Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π±Π°ΠΉΡΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ text.encode(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΠΈΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ° ['encoding'].
ΠΡΠ²ΠΎΠ΄
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΡΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ·Π½Π°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² Python. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ord(), ΠΌΠ΅ΡΠΎΠ΄ encode() ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ chardet. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² ΡΠ°Π·Π½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ . Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ° Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π° Python.