为什么我们不使用base64而不是hex?

时间:2012-01-29 03:04:53

标签: binary numbers hex base64

如果我们使用十六进制,因为它是二进制的简化,使程序员更容易阅读,比二进制更容易阅读,并携带更多数据,(等等),为什么我们不跳到下一个逻辑步骤,base64 ?

示例:

十进制:
百万<子> 10

二进制:
0b11110100001001000000 <子> 2

十六进制:
0xf4240 <子> 16

<小时/> 显然,上面的base64表示将比十六进制表示更紧凑和简洁。

就此而言,为什么我们不使用任意大的2 n 基础系统?为什么停在十六进制,特别是?

3 个答案:

答案 0 :(得分:6)

Hex具有对单个字节使用两位数的有用属性。这对查看原始内存,内存地址等非常方便。在我的PDP时代,我们经常使用八进制,因为我们可以更轻松地读取机器代码。 Base-64不提供这么好的可分性:它是6位,所以它是3位的4位数字。

答案 1 :(得分:2)

快,符号K的二进制或十进制值是多少? (或者,如果我告诉你将K个物品从一堆中分离出来,你能不用花几分钟来弄清楚这个价值究竟意味着什么呢?)

如果你在背诵字母歌曲时必须计算,你会发现使用base-64的问题是一个书面数字系统。哎呀,你必须用一首歌来记住26个符号的顺序(至少我这样做),你怎么能记住它们中的64个?

答案 2 :(得分:0)

Base64已经被用作各种任务的编码系统。例如,在Java中,有许多实现like here。它对于以xml传输编码数据非常有用。