Base58

✍ dations ◷ 2025-06-29 02:18:17 #文件格式,字符编码,数字

Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号。
设计Base58主要的目的是:


以下引用自其作者Satoshi Nakamoto在base58.h中的注释:

//// Why base-58 instead of standard base-64 encoding?// - Don't want 0OIl characters that look the same in some fonts and//      could be used to create visually identical looking account numbers.// - A string with non-alphanumeric characters is not as easily accepted as an account number.// - E-mail usually won't line-break if there's no punctuation to break at.// - Doubleclicking selects the whole number as one word if it's all alphanumeric.//

编码

Base58编码可以表示的比特位数为Log258 {\displaystyle \approx } 5.858bit。经过Base58编码的数据为原始的数据长度的 8 5.858 1.37 {\displaystyle {\tfrac {8}{5.858}}\approx 1.37} 倍,稍稍多于Base64的1.33倍。
编码符号表:

由于256不能被58整除,Base58无法像Base64那样转换为8bits的2进制后依次取出6bits就可以快速完成转换。因此,Base58编码算法需要除法运算实现,如果被编码的数据较长,则要用特殊的类来处理大数,在Bitcoin使用了OpenSSL中的BIGNUM:

相关

  • 动作技能动作技能(Motor skill)是有机体有效使用骨骼肌的技能。动作技能依赖于脑、骨骼、关节和神经系统的机能,因此动作技能包括这些系统的机能。大部分动作技能在儿童早期习得,尽管伤
  • 轮椅轮椅是一种装有轮子的椅子,为行动不便者所使用行动辅具。
  • 大保加利亚 (中世纪)奥德里西亚 前460年–46年罗马时期 46年–681年旧大保加利亚 632年–668年第一帝国 681年–1018年拜占庭保加利亚 1018年–1185年第二帝国 1185年–1396年奥斯曼帝国统治 13
  • 甜茶甜茶(Sweet tea)是一种在酿造前或酿造中往热水里加糖而制成的冰茶,这种带有特殊甜味的饮料广泛流行于美国南部地区。此茶一般由红茶做成,加入了大量的蔗糖,并且上桌时都会放入冰
  • 吴耕民吴耕民,1896年-1991年,号润苍,中国近代园艺学奠基人。1896年3月17日,出生于浙江省余姚县(今宁波慈溪市),父亲为商人。考入绍兴府中学堂,曾为鲁迅学生。1914年,考入北京农业专门学校(今
  • 彝语中部方言彝语中部方言,是彝语的一种方言,使用人数50万人。和傈僳语关系密切。主要分布在云南省中部。分布范围东至元谋、禄丰,与东部方言区接界;南至双柏、镇沅,与南部方言区接界;西至祥云
  • A28高速公路 (意大利)A28高速公路(意大利语:Autostrada 28)是意大利一条高速公路,由威尼托大区东部的格鲁阿罗港起,往西北经弗留利-威尼斯朱利亚区的波代诺内至威尼托区的科内利亚诺,全长48.75公里。19
  • 博尔加峡湾县博尔加峡湾县(Borgarfjarðarsýsla) 冰岛的一个传统县,位于西部区。主要城市有阿克拉内斯。南部与乔萨尔县(Kjósarsýsla)接界,区域内有格莱姆瀑布(Glymur),是冰岛最高的瀑布。格
  • 十五年战争1931年九一八事件经过八年抗战到1945年波茨坦宣言后日本无条件投降,这段历经大约15年的期间,被称作十五年战争,也有称作十五年抗战(特别指中国)。十五年战争这名词被认为是在1956
  • 超级中国《超级中国》(朝鲜语:슈퍼차이나,英语:Super China)是韩国KBS于2015年推出的纪录片,分别从人口、经济、外交军事、土地、文化、政治六个方面介绍了中国大陆的发展现状,并分析了中国