例如,当我在OS X上使用gcc编译一个非常简单的C程序并在命令行上运行"more"时,这是我看到的一部分片段。
<94>^^^@^@ESC^@^@^@^^^A^@^@<A8>^^^@^@.^@^@^@^N^D^@^@^P ^@^@@^@^@^@^O^D^@^@^L ^@^@H^@^@^@^O^D^@^@^H ^@^@P^@^@^@^O
^D^@^@^@ ^@^@\^@^@^@^C^@^P^@^@^P^@^@p^@^@^@^O^A^@^@b^_^@^@y^@^@^@^O^D^@^@^D ^@^@<82>^@^@^@^O^A^@^@<B6>^^^@^@<88>
^@^@^@^O^A^@^@T^_^@^@<8D>^@^@^@^O^A^@^@T^^^@^@<93>^@^@^@^A^@^A^B^@^@^@^@<99>^@^@^@^A^@^A^B^@^@^@^@^L^@^@^@^M^@^@
^@ ^@dyld_stub_binding_helper^@__dyld_func_lookup^@dyld__mach_header^@_NXArgc^@_NXArgv^@___progname^@__mh_execute
_header^@_average^@_environ^@_main^@_sum^@start^@_exit^@_printf^@^@^@^@
有人能简单地解释一下这是为什么吗?当文本编辑器或纯文本MIME类型尝试解释二进制数据时,发生了什么?在这种情况下,^@有什么意义?为什么有些文本和一些乱码?这种二进制数据在文本中的表示方式是否有标准?为什么不是简单的1和0?
我可以概念性地理解ASCII或Unicode作为字符在可以归约为二进制1和0的数字系统中的表示,以及CPU理解的数字系统。但在更高的层面上,我试图理解二进制数据是什么。我想“看到抽象”,如果这有意义的话。
在文本编辑器中,有没有一种有效的方式“看”二进制数据?