Я наткнулся на то, что я могу описать только как ошибку в интерактивном интерпретаторе для Python. Хотя ошибка довольно несущественна, я чувствовал, что это интересная проблема, и хороший шанс узнать что-то о питоне, вычислениях на низком уровне и отладки.
Проблема возникает здесь:
pic = open("blurry.jpg", "rb")
data = pic.read()
for byte in data:
print byte
это приводит к...
#prints the entire file byte by byte_
?
0
?
?
>>> 1;2c
Теперь, после этого, я обнаружил, что [] {}\@^ заменены соответственно на Ä, Å, ä, å, ö, É, 'Ü'. Интересно, однако, они все еще поддерживают функциональность. Например, list = Ä1,2,3,4Å
не вызывает ошибок. Более того, и, возможно, более интересно... это поведение продолжается даже после выхода из интерпретатора и возврата в bash.
Кроме того, я могу только воссоздать это поведение при использовании определенного изображения, которое я здесь размещал: http://imgur.com/lTo6m
У меня нет ни малейшего представления о том, где я начну анализировать такую проблему, поэтому я надеялся, что кто-то здесь сможет дать некоторое представление.
Спасибо, как всегда!
Это не ошибка с Python, это ваш терминал переключается на альтернативную кодировку. Запустите reset
в командной строке, чтобы исправить это.