将二进制读取为十进制或ascii混淆



前几天我在查看一些十六进制数据,发现有点困惑。

如果我看到十六进制代码:十进制的41,65或二进制的0100 0001。

很好!

但是,让我困惑的是,#41是ascii中字母A的代码。

因此,当我观察崇高中的十六进制字节流时,它实际上把它取为"A",而不是数字65。

所以困惑的是,它怎么知道把这个十六进制或二进制表示为字母A而不是整数65?在二进制文件中,有没有某种flag用来决定它应该显示字符还是整数?

换句话说,如果有人给了我一个二进制字节,我该如何确定他们是想让我把它看作ascii还是整数,而他们实际上并没有告诉我?

我相信这个问题的答案(尽管很晚了(是因为字母A的ascii代码位于字符集的第65个索引位置。

数字6将是0000 0110,或者仅仅是"0";6〃;。文本字符串中的65只是单个数字的集合,而不是int数据类型。

诚然,如果有人要求你给他们十六进制的ascii值,或者十六进制的denary值,我不知道你该如何识别。我对这个概念还是太陌生了。

以下是我得出的答案:https://www.bbc.co.uk/bitesize/guides/zp73wmn/revision/5

最新更新