【发布时间】:2011-08-18 00:22:37
【问题描述】:
我正在构建一个应用程序,它是一个实现 tftp 协议的服务器。我很难理解 tftp 中 ASCII 格式和二进制格式(netascii 和 octect)之间的区别,以及我应该如何以不同的方式读取文件作为协议状态。
我知道一个 ASCII 字符可以用一个字节来表示。所以我不明白以 ascii 模式(每个字符 1 个字节)和二进制模式(1 个原始字节)读取有什么区别。
对于二进制模式(tftp 中的八位字节),我可以使用标志 ios::binary 读取文件,而对于 ascii(tftp 中的 netascii),我可以不使用它,但我真的不明白以这两种方式读取文件有什么区别(我总是想出一个字节数组)。
如果有人能帮助我理解,我将不胜感激
tftp协议规范:http://www.rfc-editor.org/rfc/rfc1350.txt
我不明白的部分是这个:
目前支持三种传输模式:netascii(这是 ascii 在“美国信息交换标准代码”中定义
[1] 带有“Telnet 协议
中指定的修改” 规范”[3]。)注意它是 8 位 ascii。术语
本文档中将使用“netascii”来表示此
特定版本的 ascii。);八位字节(这取代了“二进制”模式 本文档以前版本的版本。)原始 8 位字节;邮件,
netascii 字符发送给用户而不是文件。 (邮件
模式已过时,不应实施或使用。)附加
模式可以由成对的合作主机来定义。
【问题讨论】: