Base58

✍ dations ◷ 2025-11-26 23:13:52 #文件格式,字符编码,数字

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:

相关

  • 神经多样性神经多样性(英语:Neurodiversity)是一个公民社会运动(英语:Civil_society_campaign),旨在呼吁把各种所谓神经功能障碍(英语:Neurological disorder)理解为人类基因组正常范围内的变化
  • 教职员教师(英语:Teachers,中文口语也常称作“老师”,旧称“先生”),又称作教育工作者、教员,是大众对教育从业者的称呼,是培养社会所需人才的专业。于教育机构;因应社会需要,亦有家庭教师的
  • Macmillan Reference USA麦克米伦出版公司(Macmillan Publishers Ltd.)是六大出版商之一,由苏格兰人丹尼尔及亚历山大·麦美伦两兄弟于1843年在英国伦敦成立,前英国首相哈罗德·麦美伦于卸任首相后曾担
  • 颂龙旗清朝订定国歌起源于19世纪末、20世纪初。19世纪后期至20世纪初,清朝曾先后使用《普天乐》、《李中堂乐》、《颂龙旗》作为其半官方国歌或代国歌。1911年,清政府将《巩金瓯》定
  • 梅毂成梅瑴成(1681年-1764年),字玉汝,号循斋。安徽宣州(今宣城市)人。清朝政治人物,数学家。梅文鼎之孙,自幼家学渊源,精通数学、历法。康熙五十四年(1715年),赐进士出身,选庶吉士,未散馆,特授编修
  • 金重业金重业(1922年-1988年),韩国著名建筑师。金重业曾留学法国。他与另一位留学日本的韩国建筑设计师金寿根是韩国现代建筑史上最具影响力的两位人物。金重业原在首尔大学建筑学系
  • 箭头箭头是一种符号,用于指明方向、表达趋势或其他抽象用途。
  • 布伦特里 (马萨诸塞州)布伦特里(英语:Braintree)是位于美国马萨诸塞州诺福克县的一个市镇。根据美国人口调查局2000年统计,共有人口33,828人,其中白人占93.96%、亚裔美国人占3.14%、非裔美国人占1.18%
  • 议会警卫官下议院警卫官,又称下议院侍卫长,是英国下议院负责维护议院秩序与内部管理事务的官员。这一职位人选经下议院推荐由女王任命。下院警卫官也含有一定的礼仪性作用,特别是在下议院
  • 林景元 (政治人物)林景元(1925年10月19日-),出生于台湾高雄县,是一位长期参加高雄地区政治选举的无党籍人物。至2010年为止,他已参选过高雄县议员、高雄市议员、立法委员、台湾省议员、国民大会代表