Base58

✍ dations ◷ 2025-12-03 11:29:12 #文件格式,字符编码,数字

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:

相关

  • 尼科尔夏尔·朱尔·亨利·尼科勒(Charles Jules Henri Nicolle,1866年9月21日-1936年2月28日)是一位法国细菌学家,曾经因为关于辨认出虱子为斑疹伤寒的传染者,而获得1928年诺贝尔生理学
  • 35号州际公路35号州际公路(Interstate 35,简称I-35)是美国州际公路系统的一部分。北起明尼苏达州杜鲁日,南端终点位于德克萨斯州拉雷多。全长1568.38英里(2524.06公里)。始于1956年,1992年完工
  • 乔治·葛兰维尔乔治·格伦维尔(George Grenville,1712年10月14日-1770年11月13日),英国辉格党政治家,1763年至1765年曾任英国首相,1765年,为应对英法北美战争的开销,针对英属美洲通过《印花税法》,引
  • 美国公民自由联盟美国公民自由联盟(英语:American Civil Liberties Union,以下简称:ACLU)是一个美国的大型非营利组织,总部设于纽约市,其目的是为了“捍卫和维护美国宪法和其他法律赋予的、这个国度
  • 欧内斯特·博格宁欧内斯特·博格宁(英语:Ernest Borgnine,1917年1月24日-2012年7月8日),老牌美国实力派演员,演艺生涯长达50多年,1950年代主演了不少电影,1960年代则在不少西部片中演出,事业后期的作品
  • 文学奖文学奖是指颁发给优秀作家的文学类奖项,大部分的文学奖都有颁奖仪式,并由特定组织主办。诺贝尔文学奖、布克奖、普利策奖、柯斯达文学奖(Costa Book Awards)及雨果奖都是相当著
  • 谷文晁谷文晁(日语:谷文晁,1763年10月15日-1841年1月6日),日本江户时代的画家和诗人,他早年即开始学习绘画技巧,成年后漫游于日本各地。 他的作品不拘一格,充满创意。在德川幕府时期影响深
  • 片仓景纲片仓景纲(1557年-1615年12月4日)是日本战国时代至江户时代前期的武将。伊达氏家臣。伊达政宗的近习,后来担任军师。仙台藩片仓氏初代,通称“小十郎”为片仓世袭的当家名称。父亲
  • 墨脱新月蕨墨脱新月蕨(学名:)为金星蕨科新月蕨属下的一个种。
  • 众议院 (尼泊尔)执政党 (174)反对党 (101)众议院(尼泊尔语:प्रतिनिधि सभा,Pratinidi Sabha)是两院制尼泊尔联邦议会的下议院。第一届众议院是依据1990年尼泊尔王国宪法设立的,其205