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使用的更旧的约定.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...