gpt4 book ai didi

java - "EOF"字符的十六进制代码在哪里?

转载 作者:IT老高 更新时间:2023-10-28 12:32:04 31 4
gpt4 key购买 nike

据了解,在所有文件,特别是文本文件的末尾,EOFNULL 字符都有一个十六进制代码。而当我们想要编写程序并读取文本文件的内容时,我们会发送 read 函数,直到收到 EOF hexcode。

我的问题:我下载了一些工具来查看文本文件的十六进制 View 。但我看不到 EOF(End Of File/NULL) 或 EOT(End Of Text)

的任何十六进制代码

ASCII/十六进制代码表:

enter image description here

这是十六进制查看器工具的输出:

enter image description here


注意:我的输入文件是一个文本文件,其内容是“EOF的十六进制代码在哪里?”

感谢您的时间和考虑。

最佳答案

There is no such thing as a EOF character .操作系统确切地知道一个文件包含多少字节(这与其他元数据一起存储,如权限、创建日期和名称),因此可以告诉试图读取十字节文件的第十一个字节的程序:你已经已到达文件末尾,没有更多字节可读取。

事实上,getchar 等 C 函数返回的“EOF”值明确地是一个 int超出一个字节范围,所以它不可能存储在文件中!

有时,某些文件格式坚持添加 NUL 终止符(可能是因为这就是字符串通常存储在 C 中的方式),尽管通常这些将多个记录分隔在单个文件中,而不是整个文件。而且这种装饰通常会使文件不被视为“文本文件”。

像 ETX 和 NUL 这样的 ASCII 代码可以追溯到电传打字机和 friend 时代。 NUL 在 C 中用于 in-memory 字符串,但这与文件系统无关。

关于java - "EOF"字符的十六进制代码在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24991803/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com