Mac 文件读取的内容显示为机器码
>>> import os,sys>>> fd = os.open( "/Users/xiaoshengemu/Desktop/dream.pages", os.O_RDWR)
>>> f=os.read(fd,12)###如果没有变量也无法直接读取###
>>> print(f)
b'PK\x03\x04\x14\x00\x00\x00\x08\x00\x84T' 你试一下
print(f.decode()) sunrise085 发表于 2020-8-27 09:20
你试一下
>>> print(f.decode())
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
print(f.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x84 in position 10: invalid start byte
报错 xiaoshengemu 发表于 2020-8-27 21:32
>>> print(f.decode())
Traceback (most recent call last):
File "", line 1, in
utf -8. 不是默认的储存格式吗。我也是新建打开的为什么会报错。 环境变量的问题吗 xiaoshengemu 发表于 2020-8-27 21:32
>>> print(f.decode())
Traceback (most recent call last):
File "", line 1, in
你看看原文件编码格式是什么
在decode中添加编码格式参数就行了
例如:print(f.decode(encoding=''GBK"))#若编码格式是GBK的话 sunrise085 发表于 2020-8-27 21:40
你看看原文件编码格式是什么
在decode中添加编码格式参数就行了
例如:
print(red.decode(encoding="utf-8", errors="strict"))
{\rtf1\ansi\
返回了,没报错 但是还是乱码 你看看这个pages能不能打开看看里面的编码方式 我觉得编码 可能会GB
2312? bonst 发表于 2020-9-5 11:27
你看看这个pages能不能打开看看里面的编码方式
pages不知道但是RTF(Windows的TXT)是UTF-8的之后我直接用终端打开乱码 本帖最后由 xiaoshengemu 于 2020-9-8 21:33 编辑
问题解决了。
首先是rtf 的格式问题。在mac 下他的rtf 格式不等于txt 格式。改为txt 格式就可以了
具体方法 打开rtf 文件。格式>制作纯文本就可以了。这样就能在终端打开。
在python.
就是把最后的
print(ret.decode('utf','ignore'))
decode 第二个参数默认为 'strict',意为编码错误引起一个UnicodeError。ignore
页:
[1]