微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-无法读取ascii字符26?

我以文本模式在文件中编写了流.

# python code
f = open("somewhere in my computer","w")
f.write("Hello\nWorld")
f.write(chr(26)) # writing ascii character #26 to file 
f.write("hhh")
f.close()

我无法读取ASCII字符#26之后的字节.我知道我应该用二进制模式打开文件.是ascii字符#26 EOF字符.如您所知,没有这样的东西,即没有EOF字符.那是什么问题呢?这是取决于操作系统的问题吗? (我在Microsoft Windows中尝试过).

解决方法:

问题是由于窗户. 0x1A是Ctrl-Z,DOS使用它作为文件结尾标记. Python使用Windows CRT函数_wfopen,该函数实现了“ Ctrl-Z为EOF”语义.
如果文件不是128字节的精确倍数,则需要一种标记文本结尾的方法. article表示Ctrl-Z的选择基于DEC使用的更旧的约定.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐