Base58

✍ dations ◷ 2025-09-10 18:30:00 #文件格式,字符编码,数字

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:

相关

  • 反射作用反射是神经活动的最基本方式,是指有机体的中枢神经对外界刺激所做出的有规律的应答。也是一切心理与行为的生物学基础。
  • 磁电阻式随机存取内存随机存取存储器(英语:Random Access Memory,缩写:RAM;也叫主存)是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外,见下文),而且速度很快,通常作为操作系统或其他正在运行中
  • Innominate artery头臂动脉干(英语:Brachiocephalic trunk),又称无名动脉(英语:innominate artery)为主动脉弓的第一条分支,主要供应头部右侧、右颈,及右臂的血流。头臂动脉干位于纵膈腔内,在其自主动脉
  • 伯克利伯克利(Berkeley),或译贝克莱、贝克利或柏克莱,可以指:
  • 马丁一世马丁一世(西班牙语:Martín I el Humano;1356年7月29日-1410年1月20日),有时被称为长者和神职者。1396年登基为亚拉冈、巴伦西亚、撒丁及科西嘉国王并出任巴塞罗那伯爵,1409年登基
  • 2018-19 迈阿密热火赛季2018–19 迈阿密热火赛季为迈阿密热火加盟国家篮球协会后的第三十一个赛季。同时也将是老将德维恩·韦德效力于热火的最后一个赛季。曾于2005–06赛季带领热火夺得队史第一
  • 二宫文造二宫文造(1920年1月1日-2006年1月27日),日本香川县人。日本公明党参议员、公明党副委员长、香川县本部长。1944年,日本东北大学文学部经济学科肄业。同年12月任《朝日新闻》东京
  • 戈兰·桑纳维戈兰·桑纳维(瑞典语:Göran Sonnevi,1939年10月3日-)是一位瑞典诗人、翻译家。1939年10月3日出生于瑞典斯科讷省的隆德,童年与少年时期在哈尔姆斯塔德度过。他在隆德大学学习文学
  • 虎狼之药虎狼之药又称虎狼之剂或狼虎之剂,是对药性峻猛的中药的称谓。明朝的太医许绅用虎狼之药作治好明世宗的急症的药物。许绅临终前却说:“吾不起矣,曩者宫变,吾自度不效必杀身,因而惊
  • 贝尔纳贝·布斯凯诺贝尔纳贝·布斯凯诺(Bernabe Buscayno),曾用名“库曼德·丹特”(Kumander Dante,意为“被压迫者的保护者”),是菲律宾共产党领导的军事组织新人民军的创立者。生于丹辘省卡帕斯的一