Base58

✍ dations ◷ 2025-11-13 07:00:37 #文件格式,字符编码,数字

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:

相关

  • 密克罗尼西亚联邦面积以下资讯是以2013年估计国家领袖国内生产总值(购买力平价) 以下资讯是以2016年估计国内生产总值(国际汇率) 以下资讯是以2016年估计人类发展指数 以下资讯是以2018年估计密
  • 约翰逊县约翰逊县(Johnson County, Georgia)是美国乔治亚州东部的一个县。面积794平方公里。根据美国2000年人口普查,共有人口8,560人,2005年人口9,538人。县治赖茨维尔 (Wrightsville)
  • 滑坡谬误滑坡谬误(Slippery slope)是一种非形式谬误,使用连串的因果推论,却夸大了每个环节的因果强度,而得到不合理的结论,因为事实不一定照着线性推论发生,而有其他的可能性。一般所说的“
  • Escada埃斯卡达(葡萄牙语:Escada)是巴西伯南布哥州的一个市镇。总面积348.8平方公里,总人口62604人,人口密度179.5人/平方公里。
  • 卡氏座标笛卡尔坐标系(英语:Cartesian coordinate system,也称直角坐标系)在数学中是一种正交坐标系,由法国数学家勒内·笛卡尔引入而有此名。二维的直角坐标系是由两条相互垂直、相交于
  • 中央部属高校中央部门(或单位)所属高等学校,简称中央部委直属高校或中央部属高校,是中华人民共和国高等学校中公立学校的一种(另一种为地方直属高校)。此类学校多关系国家发展全局,且行业特殊性
  • 王铎王铎自画像王铎(1592年-1652年4月28日),字觉斯,一字觉之,号嵩樵、十樵、石樵、痴庵、东皋长、痴庵道人、烟潭渔叟、雪塘渔隐、痴仙道人、兰台外史、雪山道人、二室山人、白雪道人
  • 钟情妄想钟情妄想(Erotomania)是一种少见的心理疾病,患者会陷入另一个人(通常有较高的社会地位)和他谈恋爱的妄想之中。为纪念法国精神病学家克雷宏波(1872-1934)于1921年发表了题目为“”
  • 爱川町爱川町(日语:愛川町/あいかわまち  */?)是神奈川县北部的一町。町内没有铁路。
  • 柬荷战争柬荷战争是从1643年到1644年,柬埔寨与荷兰东印度公司间的一场战争。战争的发起者是柬埔寨国王博涅赞(易卜拉欣苏丹)。这位国王曾在居住在柬埔寨的马来族贸易者们的帮助下通过政