πŸ”’ Как ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Π’ ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π±ΡƒΠΊΠ²Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с использованиСм ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ. Одна ΠΈΠ· самых распространСнных ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ - это UTF-8. Π­Ρ‚Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° позволяСт ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π±ΡƒΠΊΠ²Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… языков ΠΈ символы Unicode.

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ кодирования Π±ΡƒΠΊΠ²Ρ‹ 'A' Π² UTF-8
letter = 'A'
encoded_letter = letter.encode('utf-8')
print(encoded_letter)

Π­Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚: b'A', Π³Π΄Π΅ b ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠΊΠ²Π° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² строку, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ decode.

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСкодирования Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ 'A' Π² UTF-8
encoded_letter = b'A'
decoded_letter = encoded_letter.decode('utf-8')
print(decoded_letter)

Π­Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚: 'A', Π³Π΄Π΅ Π±ΡƒΠΊΠ²Π° Π±Ρ‹Π»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² строку.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ Π² Python

Π’ Python каТдая Π±ΡƒΠΊΠ²Π° прСдставляСтся Π² Π²ΠΈΠ΄Π΅ числового значСния. Π­Ρ‚ΠΎ называСтся ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ символа. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ систСмы кодирования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ASCII, Unicode ΠΈ UTF-8. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ Π² Python.

ASCII-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

Π’ ASCII (American Standard Code for Information Interchange) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ прСдставлСн ΠΎΠ΄Π½ΠΈΠΌ Π±Π°ΠΉΡ‚ΠΎΠΌ. Код ASCII опрСдСляСт соотвСтствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Ρ†ΠΈΡ„Ρ€Π°ΠΌΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ символами ΠΈ числовыми значСниями ΠΎΡ‚ 0 Π΄ΠΎ 127.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ASCII для символа Π² Python:


char = 'A'
ascii_value = ord(char)
print(f"ASCII-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ символа '{char}' Ρ€Π°Π²Π½ΠΎ {ascii_value}")

    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ord(), которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ символ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ASCII.

Unicode-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

Unicode β€” это стандарт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния символов со всСго ΠΌΠΈΡ€Π°. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Unicode ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° символов ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ символы Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков ΠΈ ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½ΠΎΡΡ‚Π΅ΠΉ, матСматичСскиС символы, Π·Π½Π°ΠΊΠΈ ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Для получСния числового значСния символа Π² Unicode ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ord() Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² случаС с ASCII. Однако, Π² случаС Unicode, функция ord() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 16-Π±ΠΈΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.


char = 'A'
unicode_value = ord(char)
print(f"Unicode-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ символа '{char}' Ρ€Π°Π²Π½ΠΎ {unicode_value}")

    

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ символа 'A' Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Unicode.

UTF-8-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

UTF-8 (Unicode Transformation Format, 8-bit) β€” это популярная систСма кодирования, которая Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ стандарт Unicode. UTF-8 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ кодирования ΠΈ позволяСт ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ всС символы Unicode.

Π’ Python, строки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² UTF-8. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ прСдставлСниС символа Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ encode() строки.


char = 'A'
utf8_bytes = char.encode('utf-8')
print(f"Π‘Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ прСдставлСниС символа '{char}' Π² UTF-8: {utf8_bytes}")

    

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ символ 'A' Π² Π΅Π³ΠΎ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ прСдставлСниС Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8 с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° encode().

Π˜Ρ‚ΠΎΠ³ΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ Π² Python. Π’ Python символы ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ASCII, Unicode ΠΈ UTF-8. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ord() для получСния числового значСния символа Π² ASCII ΠΈΠ»ΠΈ Unicode, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ encode() для получСния Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ³ΠΎ прСдставлСния символа Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ UTF-8.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

3 способа ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ· Π±ΡƒΠΊΠ²Π΅Π½Π½ΠΎ-Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ строки Π½Π° python (ΠΏΠΈΡ‚ΠΎΠ½)

Как Π½Π° Python Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π°Π»Ρ„Π°Π²ΠΈΡ‚ Π·Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ | ord ΠΈ chr

Π£Ρ€ΠΎΠΊ 10 Π‘Ρ‚Ρ€ΠΎΠΊΠΈ: индСксы ΠΈ срСзы Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸš€ Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Python: простая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΠΏΠΈΡΠ°Ρ‚ΡŒ чистый ΠΊΠΎΠ΄ python: простыС совСты ΠΈ стратСгии

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт Python Π½Π° Linux 🐧

πŸ”’ Как ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ” Как ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² Python ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок πŸ”₯

πŸ”§ Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Python: простыС шаги ΠΈ совСты

🎨 Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΠΎΠ½ Π² Python: простыС ΠΈ эффСктивныС способы πŸ–ŒοΈ