簡體   English   中英

了解Python交互式解釋器中的打印字節

[英]Understanding printing bytes in the Python interactive interpreter

我偶然發現了在Python交互式解釋器中只能描述為錯誤的東西。 盡管該錯誤無關緊要,但我認為這是一個有趣的問題,也是學習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的錯誤,這是您的終端切換到備用字符集。 在shell提示符下運行reset可以解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM