Base58

✍ dations ◷ 2025-12-04 13:02:43 #文件格式,字符编码,数字

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:

相关

  • 今日美国《今日美国》(英语:USA Today)是美国唯一的彩色版全国性对开日报,1982年9月15日创刊,总部设在弗吉尼亚州费尔法克斯县的麦克林(McLean),属全美最大的甘尼特(Gannett)报团。《今日美国
  • 地球上海洋的起源地球上水的来源,或者说地球上的液态水明显比太阳系其他类地行星多的原因,目前尚不清楚。过去45亿年来,水如何在地球表面不断积累并形成大洋,存在着许多假设。对锆石的一项研究发
  • 史蒂芬·恩德利希斯特凡·恩德利歇(全名斯特凡·拉迪斯劳斯·恩德利歇 德语:Stephan Ladislaus Endlicher)(1804年6月24日-1849年3月28日),奥地利植物学家、古钱币研究专家和汉学家。他出生于布拉迪
  • 李必恒李必恒(?-?)字北岳,又字百药,高邮人。生卒年均不详,康熙年间人。幼年体弱多病。成年后,为诸生,以诗文驰名,江左十五子之一。晚年穷病以终。有《三十六湖草堂诗集》、《樗巢诗选》六卷
  • 丁履恒丁履恒(1770年-1832年),字若士,一字道久,号东心,江苏武进人。生于清乾隆三十五年(1770年),二十岁时补诸生。生性好辩,常与陆继辂持论往复。嘉庆丁酉拔贡。师从卢文弨,其学宗承江永、段玉
  • 陈彤陈彤(1967年-),籍贯河南开封,生于北京,曾任新浪执行副总裁,新浪网总编辑,新浪网的早期员工及在该公司工作17年。现为小米科技副总裁,负责内容投资和运营方面工作的管理。毕业于北京工
  • 孙羽孙羽(1934年-2014年2月19日),原名孙洪纺,吉林扶余人,中华人民共和国导演、演员。早年进入东北电影制片厂当演员,出演《钢铁战士》、《翠岗红旗》、《猛河的黎明》、《暴风雨中的雄
  • 美国总统就职典礼美国总统就职典礼的举行,标志着新一届美国总统任期的开始。实际上,美国宪法中对就职典礼所规定的唯一一项,就是在总统进入总统办公室执政前,必须进行宣誓。然而随着历史的推移,就
  • 暨陶暨陶,北宋官员、诗人,善音律,以词赋而出名。元丰年间进士。福建路崇安县人(今武夷山市)。宋元丰五年,进士放榜唱名,当时韵书“洎、暨”同音,均属去声,主持以“洎”音叫暨陶,三呼不应,考
  • 吕复吕复,字元膺,浙江鄞县(今宁波)人,明朝医学家。年幼的时候父亲就去世了,“从师受经”。一次因为母亲重病而去求医问药,遇到当时的名医衢州人郑礼之,就跟随他学习医学。吕复后来得到郑