You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python二进制读取采用何种编码机制?为何返回大于127的十进制数?

问题解答

你用二进制模式读取文件得到的不是任何文本编码,就是文件的原始字节值,每个输出的十进制整数对应文件中单个字节的8位二进制数的十进制表示。

关键说明:

  • 你的代码用了mode='br'(二进制只读模式),file.read()返回的是Python的bytes对象。遍历这个对象时,每个元素是0-255的整数,这完全是字节本身的数值,和编码无关——你只是直接读取了文件的原始二进制数据,没有做任何解码操作。
  • PDF是二进制文件,不是纯文本文件。它里面除了部分用ASCII编码的关键字、文本内容外,还有大量非ASCII的二进制数据,比如压缩的页面数据流、字体文件、嵌入的图片等,这些数据本来就不是文本,自然会出现大于127的字节值。

简单说:你看到的不是某种编码的字符,就是文件里的原始字节,PDF这类二进制文件本来就包含大量非ASCII范围的字节。

内容的提问来源于stack exchange,提问作者Dileesha abilash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 13:51:13