当前位置: 首页 > 知识库问答 >
问题:

“EOF”字符的十六进制代码在哪里?

公羊信厚
2023-03-14

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

我的问题:我下载了一些工具来查看文本文件的十六进制视图。但我看不到EOF(文件结尾/NULL)或EOT(文本结尾)的任何十六进制代码

ASCII/十六进制代码表:

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

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

感谢您的时间和考虑。

共有3个答案

窦英武
2023-03-14

没有所谓的EOF。EOF只是文件读取函数返回的一个值,告诉你文件指针到达了文件的末尾。

韦宣
2023-03-14

很久以前,有一个文件结束标记,但它已经很多年没有在文件中使用了。

您可以使用以下方法在windows上演示它的远程回声:

C:\>copy con junk.txt
Hello
Hello again
- Press <Ctrl> and <z>
C:\>dump junk.txt
junk.txt:
00000000  4865 6c6c 6f0d 0a48 656c 6c6f 2061 6761 Hello..Hello aga
00000010  696e 0d0a                               in..
C:\>

注意使用Ctrl-Z作为EOT标记。

但是,还要注意,Ctrl-Z不再显示在文件中-它以前显示为0x1a,但仅在某些操作系统上显示,甚至不一致。

使用ETX0x03)甚至在那些昏暗和遥远的时间之前就停止了。

宫晟
2023-03-14

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

事实上,例如由诸如getchar之类的C函数返回的“EOF”值显式地是一个超出字节范围的int值,因此它不可能存储在文件中!

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

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

 类似资料:
  • 问题内容: 据所有文件(尤其是文本文件)末尾所知,有一个 用于EOF或NULL字符的十六进制代码。当我们要编写程序 并读取文本文件的内容时,我们将发送读取函数,直到 收到EOF十六进制代码。 我的问题:我下载了一些工具来查看文本文件的十六进制视图。但我 看不到EOF(文件结尾/ NULL)或EOT(文本结尾)的任何十六进制代码 注意:我的输入文件是一个文本文件,其内容为“ “ EOF”的十六进制代

  • 问题内容: 我想将单元格的前景色设置为十六进制代码中的给定颜色。例如,当我尝试将其设置为红色时: 无论我在解码函数的参数中设置了什么十六进制值,getIndexed函数都将始终返回黑色。 可能是我做错了什么吗?我认为这是一个错误,但我不确定… 问题答案: 好消息是,如果您使用的是XSSF,而不是HSSF,那么解决问题的方法就很简单。您只需将样式变量转换为XSSFCellStyle。如果这样做,则存

  • 问题内容: 标题 有没有一种方法可以将任意字符串映射到十六进制颜色代码。我尝试使用字符串哈希码计算字符串的十六进制数。现在,我需要将此十六进制数字转换为十六进制颜色代码范围内的六位数。有什么建议 ? 问题答案: 如果您不太在乎颜色的“含义”,则可以将int的位数拆分(将第一个仅删除RGB而不是ARGB)

  • 问题内容: 我在ex中有整数。16,我正在尝试将此数字转换为十六进制数字。我试图通过使用十六进制函数来实现此目的,但是每当您向十六进制函数提供整数时,它都会返回十六进制数字的字符串表示形式, 有人可以告诉我如何将字符串格式的十六进制数字转换为简单的十六进制数字。 谢谢!! 问题答案:

  • 我有十六进制字符串,例如“0x103E”,我想将其转换为整数。意思是to我尝试了但它给出了数字格式异常。我如何实现这一点?

  • 问题内容: 我想转换为字节数组,但是返回32个字节而不是16个字节。 问题答案: 我认为发问者正在将十六进制值的字符串表示形式转换为表示该十六进制值的字节数组。 apache commons编解码器为此提供了一个类Hex。