将 little-endian 转换为 ASCII
Converting little-endian to ASCII
我需要帮助转换小端字符串
8989d0261ee17bbf95ea5596711538b0
到 ASCII。有人可以指导我完成这个过程吗?
我不确定这是否正确,但我相信我可以通过以下操作将此字符串转换为十进制:
8 * 16^(字符串长度)+ 9 * 16^(字符串长度 - 1)+ ... + 0 * 16^0
(将字符串的值乘以它的位置)。然后一旦我得到它,我减去 2^32,我将得到十进制的等效值。然后,我可以使用在线转换器将十进制数转换为 ASCII。这行得通吗?
你的推理是正确的。
如果你有一个数字,比如 259,以 10 为基数,该数字可以重写为
2 * 10^2 + 5 * 10^1 + 9 * 10^0.
同样,在上面的示例中,字符串中的每个字符都被分配了一个值(类似于十六进制)。我看到你的方程式中的转换部分是正确的。 补码是对二进制数的运算,用于表示有符号数。按照这种方法,我们必须减去 2^32 以获得等效的十进制值。
请注意,也可以执行类似的反向操作来实现 ASCII 表示(如果您无法使用转换器)。
这里有一个 link 有很多例子,你可能会感兴趣:https://www.cs.cornell.edu/~tomf/notes/cps104/twoscomp.html
我需要帮助转换小端字符串
8989d0261ee17bbf95ea5596711538b0
到 ASCII。有人可以指导我完成这个过程吗?
我不确定这是否正确,但我相信我可以通过以下操作将此字符串转换为十进制:
8 * 16^(字符串长度)+ 9 * 16^(字符串长度 - 1)+ ... + 0 * 16^0
(将字符串的值乘以它的位置)。然后一旦我得到它,我减去 2^32,我将得到十进制的等效值。然后,我可以使用在线转换器将十进制数转换为 ASCII。这行得通吗?
你的推理是正确的。
如果你有一个数字,比如 259,以 10 为基数,该数字可以重写为
2 * 10^2 + 5 * 10^1 + 9 * 10^0.
同样,在上面的示例中,字符串中的每个字符都被分配了一个值(类似于十六进制)。我看到你的方程式中的转换部分是正确的。 补码是对二进制数的运算,用于表示有符号数。按照这种方法,我们必须减去 2^32 以获得等效的十进制值。
请注意,也可以执行类似的反向操作来实现 ASCII 表示(如果您无法使用转换器)。
这里有一个 link 有很多例子,你可能会感兴趣:https://www.cs.cornell.edu/~tomf/notes/cps104/twoscomp.html