将little-endian转换为ASCII

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将little-endian转换为ASCII相关的知识,希望对你有一定的参考价值。

我需要帮助转换little-endian字符串

8989d0261ee17bbf95ea5596711538b0

到ASCII。有人可以指导我完成这个过程吗?

我不确定这是否正确,但我相信我可以通过执行以下操作将此字符串转换为十进制:

8 * 16 ^(字符串长度)+ 9 * 16 ^(字符串长度 - 1)+ ... + 0 * 16 ^ 0

(将字符串的值乘以它的位置)。然后,一旦我得到它,我减去2 ^ 32,我将得到十进制的等价物。然后,我可以使用在线转换器将十进制数转换为ASCII。这会有用吗?

答案

你的推理是正确的。

如果您在基数10中有一个数字,例如259,则该数字可以重写为

2 * 10^2 + 5 * 10^1 + 9 * 10^0.

类似地,在上面的示例中,字符串中的每个字符都分配了一个值(类似于十六进制)。我看到你的等式中的转换部分是正确的。二进制补码是对二进制数的运算,用于表示有符号数。按照这种方法,我们必须减去2 ^ 32以获得十进制的等效值。

请注意,也可以执行类似的反向操作来实现ASCII表示(如果您无法使用转换器)。

这是一个包含许多示例的链接,您可能会对此感兴趣:https://www.cs.cornell.edu/~tomf/notes/cps104/twoscomp.html

以上是关于将little-endian转换为ASCII的主要内容,如果未能解决你的问题,请参考以下文章

Perl程序将二进制转换为ascii

使用任何开源代码或工具将大型机二进制文件转换为 Ascii

如何使C++将数字转换为ASC2码表中对应的符号输出?

将二进制转换为 ASCII,反之亦然

C语言ASCII码与字母如何转换?求详解

将十进制转换为 ASCII