Base58

✍ dations ◷ 2025-12-08 23:04:06 #文件格式,字符编码,数字

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:

相关

  • 实习医师实习医师是一个医学相关的专业术语,在某些国家或地区是指几乎完成或已经完成医学院学业并拥有医学学位(英语:Medical degree),但尚未获得授权于没有监督的情况下独立执业的受训医
  • 饮食禁忌饮食禁忌是指一种单一社会群体或文化有自觉地避免食用特定动物或植物的现象。因此,饮食禁忌随空间、族群甚至时代而异,故并不存在全世界通用的饮食禁忌。多数饮食禁忌不是由文
  • 文盲率识字率的定义为一个国家当中,十五岁以上的合法“劳动人口”中能读写文字的人的比率,就目前而言,全球平均识字率正在增加当中,但是世界上依然有不少失学的人口。识字率能反映出一
  • 七姐织女是天帝与王母娘娘所生的七仙女的幺女,排行第七,工作是编织神仙的衣服以及天上的云彩,是纺织业者、情侣、妇女、儿童的守护神,著名的民间故事牛郎织女的女主角,古代中国天文中
  • 伊斯兰教的先知穆斯林认为先知(阿拉伯语:نبي)是凡人,是真主派遣的。每位先知都带来了伊斯兰式的基本信息,包括独一造物主的信仰,避免偶像崇拜与罪恶。他们都向大众传播伊斯兰教,并告知将出现见
  • 环丁醇环丁醇(英语:Cyclobutanol)是一种含有四元环的醇类,分子式C4H8O。与其母体化合物环丁烷类似,因为四元环具有环张力,所以碳碳键容易断裂开环而显示出独特的性质,是有机化学合成的对
  • 东南亚东南亚战区:缅甸战区:西南太平洋战区:北美战区:日本土本战区:满洲战区:第二次世界大战东南亚战区是太平洋战争中在印度、缅甸、泰国、马来亚和新加坡进行的一系列战役的总称,由大日
  • 指长比指长比(Digit ratio)为手指底部折痕到手指前端中点(如图)不同手指长度的比例。一些科学家认为食指和无名指的指长比(2D:4D)受胎儿暴露在子宫的雄激素和雌激素不同程度结果所致
  • 北科罗拉多大学坐标:40°24′17″N 104°41′48″W / 40.404853°N 104.696741°W / 40.404853; -104.696741北科罗拉多大学(University of Northern Colorado,缩写:UNC)是一所主校区位于美国科
  • 乔治·马司培罗乔治·马司培罗(法语:Georges Maspéro,1872年-1942年),另译马斯伯乐、马伯乐等,法国东方学家,殖民官员。乔治·马司培罗于巴黎出生,父亲是埃及学家加斯东·马伯乐。曾在法国殖民地学