【问题标题】:Converting heximal to decimal将十六进制转换为十进制
【发布时间】:2019-07-12 16:06:26
【问题描述】:

我正在尝试从 api 解析 BLOB(二进制对象)。

假设十六进制的a0acb90300000000代表十进制格式的62500000

但是,当我将 62500000 转换为十六进制时,我得到 3b9aca0

我不确定它是什么类型的转换。

【问题讨论】:

    标签: hex byte


    【解决方案1】:

    希望将所有内容都放在代码块中是可以的,这样可以更容易格式化。

    a0acb90300000000
    Lets add some spaces and capitalize letters:
    A0 AC B9 03 00 00 00 00
    
    
    62500000
    Windows calculator converts to:
    3B9ACA0
    This is a number from a calculator, lets add spaces right to left
    3 B9 AC A0
    Lets add some zeros to the left side, we have:
    00 00 00 00 03 B9 AC A0
    Before:
    A0 AC B9 03 00 00 00 00
    

    您的初始十六进制 blob 采用小端序,并且是 64 位整数,可能是无符号的。

    *有进一步阅读:Endianness

    您使用的语言应该有一些东西可以为您解压。

    【讨论】:

    • 感谢您抽出宝贵时间回答。