Base58

✍ dations ◷ 2025-11-24 09:33:58 #文件格式,字符编码,数字

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:

相关

  • 苯酚苯酚(化学式:C6H5OH,PhOH),又名石炭酸、羟基苯,是最简单的酚类有机物,常温下为一种无色晶体。有毒。苯酚是一种常见的化学品,是生产某些树脂、杀菌剂、防腐剂以及药物(如阿司匹林)的重
  • 联邦储备银行美国联邦储备银行(英语:Federal Reserve Bank)是美国的中央银行体系“联邦储备系统”的运作分支,共12个银行,每个银行分管自己的联邦储备辖区,各银行股份为公私混合,非完全政府所有
  • OSCE欧洲安全与合作组织(简称欧安组织;英文:Organization for Security and Co-operation in Europe,缩写:OSCE)是世界上主要的国际组织之一,前身是1975年于冷战期间成立的“欧洲安全与
  • Malay Annals《马来纪年》(Sejarah Melayu;爪夷文: سجاره ملايو),原名《诸王起源》(Sulalatus Salatin),中文译名又作《马来由史话》。该书是著名的古马来文献,它的作者,一说是柔佛苏
  • 胶东地区胶东半岛,简称胶东,古为东夷地区。狭义指中国山东省境内胶莱河以东地区,包括烟台、威海全部和青岛的东部,是山东半岛的主要部分,北面与辽东半岛隔渤海湾相望。而泛胶东地理文明圈
  • 凉粉 (中国北方)凉粉,一种中国食品,以大米、豌豆或绿豆为主要材料制作而成,色泽乳白色,凝胶状。成品会因制作容器的不同,而形成不同的形状。通常切成扁平的长方块,经过调味后,通常是咸味和辣味的。
  • 俞文俞文�(1940年-2002年),浙江宁波人,数学教授,原复旦大学统计运筹系系主任、华东理工大学理学院院长。俞文�早年自复旦大学数学系毕业后留校任教,1961年至1988年间历任数学所助教、副教
  • 伊顿·阿伦美国独立战争 伊顿·阿伦(英语:Ethan Allen,1738年1月21日-1789年2月12日),是佛蒙特州创立的奠基人之一,美国独立战争初期反叛者的民兵军官。阿伦生于1738年1月21日康涅狄格殖民地
  • 倒卵叶山龙眼倒卵叶山龙眼(学名:),又称莲花池山龙眼,为山龙眼科山龙眼属下的一个种。 维基物种中有关倒卵叶山龙眼的数据
  • 赵群赵群(1955年-),辽宁沈阳人,医学博士,教授、博士生导师,享受国务院特殊津贴。曾任中国医科大学附属盛京医院院长、小儿外科副主任。2004年9月担任中国医科大学校长;2013年10月兼任中