Python3 UnicodeDecodeError на utf8Python

Программы на Python
Ответить
Anonymous
 Python3 UnicodeDecodeError на utf8

Сообщение Anonymous »

Что бы я ни делал, я не смог это исправить.
Мне нужно исправить вот этот сценарий;

Код: Выделить всё

# Read the original file and write to a new file
input_file = 'input.txt'
output_file = 'output.txt'

with open(input_file, 'rb') as f:
content = f.read()

# Filter out non-UTF-8 characters
cleaned_content = content.decode('utf-8', errors='replace').replace('�','?')

# Split the cleaned content into lines
lines = cleaned_content.splitlines()

# Sort the lines
sorted_lines = sorted(lines)

# Write the sorted lines to a new file
with open(output_file, 'w', encoding='utf-8') as f:
for line in sorted_lines:
f.write(line + '\n')
Я хочу, чтобы файл никогда не выдавал ошибку UnicodeDecodeError, когда я использую open(file_path, 'r',coding='utf-8') как файл:< /p>
Коротко говоря, у меня есть сценарий байтового поиска, работающий с отсортированным файлом. Если я сделаю open(file_path, 'r',coding='utf-8', error='replace') как файл:
Это не работает должным образом, поскольку меняет символ, который будет обычно выдавайте UnicodeDecodeError. Представьте, что файл такой
он читает его так.

Код: Выделить всё

a
b
�
d
Если он ищет «c» и доходит до строки, начинающейся с �, то он проверит, стоит ли c до � или после, и идет в неправильном направлении (скажем, вверх, а не вниз) потому что файл отсортирован по utf-8.
Я хочу убедиться, что файл не выдаст мне UnicodeDecodeError, потому что все символы, которые могут выдать эту ошибку, заменяются на "?" затем сортируется.
Что бы я ни пробовал, всегда появляются такие странные символы.
Как я могу это сделать?

Подробнее здесь: https://stackoverflow.com/questions/792 ... or-on-utf8
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»