Base58

✍ dations ◷ 2025-11-29 20:44:22 #文件格式,字符编码,数字

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:

相关

  • 肝素肝素(Heparin),也称为普通肝素,是一种天然糖胺聚糖抗凝血剂,可用来治疗及预防深静脉血栓、肺栓塞、动脉栓塞,也可用于治疗心肌梗塞以及不稳定型心绞痛。通常以静脉注射方式给药,也
  • 偏微分方程偏微分方程(英语:partial differential equation,缩写作PDE)指含有未知函数及其偏导数的方程。描述自变量、未知函数及其偏导数之间的关系。符合这个关系的函数是方程的解。偏微
  • 化学性质化学性质是物质在化学反应中表现出来的特征及性质。
  • cDNA基因库cDNA文库筛选在基因功能研究中的应用较早,然而早期的cDNA文库均为“混合型”(pooled),筛选后的回收鉴定工作非常繁杂。近年来由于人类及其它一些物种的全基因组测序工作的完成,使
  • 大豆异黄酮大豆苷元,也称为黄豆苷元、大豆异黄酮(英语:Daidzein,系统名:7-羟基-3-(4-羟苯基)-4H-色烯-4-酮,7-hydroxy-3-(4-hydroxyphenyl)-4H-chromen-4-one)是一种出现在大豆等豆科作物中的
  • 霍比特人霍比特人(英语:Hobbits),是托尔金的奇幻小说中出现的一种虚构民族,体型娇小为其特色,但并非矮人或侏儒。据作者所述,霍比特人是人类的变种,或是人类的分支,但霍比特人坚信他们是一个
  • 盆唐车辆基地盆唐车辆基地(朝鲜语:분당차량사업소/盆唐車輛事業所  */?)是韩国铁道公社位于京畿道龙仁市器兴区的一个车辆段,在盆唐线附近,北接竹田站。这个车辆段主要用于盆唐线的351000系
  • 弗里德里希·戈特利布·克洛普施托克里弗德里希·戈特利布·克洛普施托克(德语:Friedrich Gottlieb Klopstock,1724年7月2日-1803年3月14日)是一位德国诗人。他最著名的作品是史诗《救世主(英语:Der Messias (Klopstoc
  • 诸志祥诸志祥(1941年-2015年9月8日),笔名浩谷,浙江绍兴人,中国大陆作家,主要作品有《八戒回乡》、《黑猫警长》、《黑猫警长与外星人》,其中《黑猫警长》被改编为动画并播出。1987年6月,诸
  • 伊万·鲁塞夫伊万·鲁塞夫(保加利亚语:Иван Русев,1993年5月6日-),保加利亚男子羽毛球运动员。2015年8月,伊万·鲁塞夫出战保加利亚羽毛球公开赛,与丹尼尔·尼科洛夫合作打进男子双打比