当我将数字写入二进制文件时,它将不会显示。但如果是角色,它确实如此。为什么?你如何检查包含字符的文件是否是二进制文件?
答案 0 :(得分:4)
这与你如何解释文件中的内容有关。文件中的所有内容都是二进制文件,字符是整数等。
当您在控制台上对文件(或CAT或您拥有的任何操作系统)执行TYPE时,默认情况下该文件的内容将被解释为文本,因为TYPE的程序员决定这样写它。
当你编写一个程序来从文件中读出数据时,你需要决定如何解释你读到的数据。
这就是为什么你只能猜测文件内容,这就是为什么通常使用文件的扩展来提示如何解释内容。
答案 1 :(得分:1)
我认为您真正要问的是您(个人)是否可以解释文件中的内容。
正如安德斯所提到的,你通常可以将文件作为文本阅读而不管其中包含的内容 - 然而,这些字符可能毫无意义。
假设您正在编写软件来执行此任务,可能以下(高级)算法将有所帮助:
这有帮助吗?
答案 2 :(得分:1)
好的,我相信我可以回答你的问题。数字在记事本中显示为垃圾的原因是因为您保存了一个整数值 - 保存ascii代码0-9,其中包含与之关联的时髦字符。保存字符时,它将保存该字符的实际ascii值(它将字符视为转换为其ascii值的数字),然后将其显示为您希望看到的字符。
另一种说法是:
int(1) = 1
,而
int('A') = 65
了解它们与编译器的区别?