Skip to main content
 首页 » 编程设计

python之了解 Python 交互式解释器中的打印字节

2025年05月04日12artech

我偶然发现了我只能描述为 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 来解决这个问题。