0

使用十六进制数字编码似乎与使用十六进制表示数字不同。例如,十六进制数 0x40 对我来说应该等于 64,或者BA_{64},但是当我通过这个十六进制到 base64 转换器时,我得到输出:QA==对我来说,它等于某个数字乘以 64。这是为什么?

此外,当我检查十六进制字符串的整数值时,deadbeef我得到 3735928559,但是当我在其他地方检查时,我得到:222 173 190 239。这是为什么?

附录:所以我想这是因为在编码时将数字分解成比特块比将其视为整数更容易?这让我很困惑,但我想我明白了。

4

1 回答 1

1

您可能希望阅读以下内容:

http://en.wikipedia.org/wiki/Base64

总之,base64 指定了一种特定的编码,其中涉及对字母使用不同于其 ASCII 编码的值。

对于第二部分,一个来源是将整个字符串视为 32 位整数,另一个来源是将其划分为字节并给出每个字节的值。

于 2013-06-14T03:41:52.253 回答