Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΡ€Π·ΠΈΠ½ΡƒΠŸΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ
Найти Π² Π”Π·Π΅Π½Π΅
CODERIKK

πŸ”Ή Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ: Π½Π΅ Π»ΠΎΠΌΠ°Π΅ΠΌ тСкст

πŸ”Ή ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π»ΠΎΠΌΠ°ΡŽΡ‚ строки ΠΈ ΠΊΠ°ΠΊ Unicode ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚? πŸ”Έ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ сСти ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ Π±Π°ΠΉΡ‚Ρ‹, Π° Π½Π΅ символы. Если ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ β€” ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ "кракозябры" ΠΈΠ»ΠΈ ошибки. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ (sequence of characters) Π»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ из‑за нСсогласия байт↔символ. πŸ”Έ Unicode β€” это ΠΊΠ°Ρ€Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ для символов всСх языков. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ (UTF-8, UTF-16) Π·Π°Π΄Π°ΡŽΡ‚ ΠΊΠ°ΠΊ эти Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Π±Π°ΠΉΡ‚Ρ‹. Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ согласованно ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ тСкстом. πŸ”Έ encode/decode Π² ΠΊΠΎΠ΄Π΅: encode ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ str Π² bytes, decode β€” ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Python: text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚" b = text.encode('utf-8') print(b) print(b.decode('utf-8')) πŸ”Έ locale влияСт Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», open() Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°). НС полагайся Π½Π° Π½Π΅Π³ΠΎ β€” явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉ encoding='utf-8' ΠΈΠ»ΠΈ настраивай locale Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ. πŸ“š ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ: явно Π·Π°Π΄Π°Π²Π°ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, провСряй encode/decode, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ Unicode. #CODERIKK #Python #Junior ➑️ ΠœΡ‹ Π² Telegram - Π‘Π΅Ρ‚ΠΊΠ΅ - Π’Πš Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ вашСй Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π·Π΄Π΅ΡΡŒβ¬‡οΈ

πŸ”Ή Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ: Π½Π΅ Π»ΠΎΠΌΠ°Π΅ΠΌ тСкст

πŸ”Ή ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π»ΠΎΠΌΠ°ΡŽΡ‚ строки ΠΈ ΠΊΠ°ΠΊ Unicode ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚?

πŸ”Έ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ сСти ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ Π±Π°ΠΉΡ‚Ρ‹, Π° Π½Π΅ символы. Если ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ β€” ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ "кракозябры" ΠΈΠ»ΠΈ ошибки. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ (sequence of characters) Π»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ из‑за нСсогласия байт↔символ.

πŸ”Έ Unicode β€” это ΠΊΠ°Ρ€Ρ‚Π° ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ для символов всСх языков. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ (UTF-8, UTF-16) Π·Π°Π΄Π°ΡŽΡ‚ ΠΊΠ°ΠΊ эти Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² Π±Π°ΠΉΡ‚Ρ‹. Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ согласованно ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ тСкстом.

πŸ”Έ encode/decode Π² ΠΊΠΎΠ΄Π΅: encode ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ str Π² bytes, decode β€” ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Python:

text = "ΠŸΡ€ΠΈΠ²Π΅Ρ‚"

b = text.encode('utf-8')

print(b)

print(b.decode('utf-8'))

πŸ”Έ locale влияСт Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», open() Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°). НС полагайся Π½Π° Π½Π΅Π³ΠΎ β€” явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉ encoding='utf-8' ΠΈΠ»ΠΈ настраивай locale Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ.

πŸ“š ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ: явно Π·Π°Π΄Π°Π²Π°ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, провСряй encode/decode, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ Unicode.

#CODERIKK #Python #Junior

➑️ ΠœΡ‹ Π² Telegram - Π‘Π΅Ρ‚ΠΊΠ΅ - Π’Πš

Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ вашСй Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π·Π΄Π΅ΡΡŒβ¬‡οΈ