π ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π° Π½Π° utf 8 Π² Python? ππ
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π° Π½Π° utf-8 Π² Python
ΠΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠ»Π° Π½Π° utf-8 Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
# ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ
with open('ΡΠ°ΠΉΠ».txt', 'r', encoding='ΡΡΠ°ΡΠ°Ρ_ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°') as file:
# Π§ΠΈΡΠ°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°
content = file.read()
# ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ
with open('ΡΠ°ΠΉΠ».txt', 'w', encoding='utf-8') as file:
# ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅
file.write(content)
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ 'ΡΠ°ΠΉΠ».txt' Π½Π° ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ ΠΈ 'ΡΡΠ°ΡΠ°Ρ_ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°' Π½Π° ΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ utf-8.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π° Π½Π° UTF-8 Π² Python
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎΠ»ΠΊΠ½ΡΡΡΡΡ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π² Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅, ΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π° Π½Π° UTF-8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python.
1. ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π°, Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ open()
Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ encoding
, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π°.
with open('file.txt', 'r', encoding='current_encoding') as file:
# ΠΠ΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ
ΠΠ΄Π΅ΡΡ 'file.txt'
- ΡΡΠΎ ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΡΠ°ΠΉΠ»Ρ, Π° 'current_encoding'
- ΡΠ΅ΠΊΡΡΠ°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°ΠΉΠ»Π°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠ΅Π½ΠΈΡ 'r'
Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°.
2. Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ read()
Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ°ΠΉΠ»Π°.
file_content = file.read()
Π’Π΅ΠΏΠ΅ΡΡ file_content
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅.
3. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° UTF-8
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Π½Π° UTF-8. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ encode()
Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ.
utf8_content = file_content.encode('utf-8')
Π’Π΅ΠΏΠ΅ΡΡ utf8_content
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ UTF-8.
4. ΠΠ°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ»
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ - Π·Π°ΠΏΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ» Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ°ΠΉΠ»:
with open('file.txt', 'w', encoding='utf-8') as file:
file.write(utf8_content)
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»:
with open('new_file.txt', 'w', encoding='utf-8') as new_file:
new_file.write(utf8_content)
ΠΠ΄Π΅ΡΡ 'file.txt'
- ΡΡΠΎ ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, 'w'
- ΡΠ΅ΠΆΠΈΠΌ Π·Π°ΠΏΠΈΡΠΈ, ΠΈ 'utf-8'
- Π½ΠΎΠ²Π°Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» - Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ 'new_file.txt'
Π½Π° ΠΏΡΡΡ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ ΡΠ°ΠΉΠ»Π° Π½Π° UTF-8 Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python. ΠΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΎΠΉ, ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ Π½Π° UTF-8 ΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ°ΠΉΠ». ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΈΠΌΠ΅ΡΡΠΈΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ.