Base58

✍ dations ◷ 2025-12-07 17:08:26 #文件格式,字符编码,数字

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:

相关

  • 谈迁谈迁(1594年11月23日-1658年1月14日),明末清初史学家,原名以训,字观若;明亡后改名迁,字孺木,明朝诸生,浙江杭州府海宁枣林(浙江海宁西南)人。《国榷》作者。万历二十一年(1594年)甲午十月
  • 人类 (消歧义)人类(英语:humanity,mankind,man,human beings或terran)可以指:英文中的humanity还可以指:
  • 愉快愉快(Pleasure)也称为愉悦,描述人类或是其他动物正面的、有趣的的心理状态,认为所体验的是正面的、有趣的、值得去寻求的。有许多和愉快有关,但更细分的心理状态,例如快乐、娱乐、
  • 达尔金人达尔金人(达尔金语:Дарганти,俄语:Даргинцы)是东北高加索地区的一个民族,主要分布在俄罗斯联邦达吉斯坦共和国境内,根据2002年的普查,人口约51万。本民族语言达尔金
  • 礼文岛坐标:45°22′57″N 141°01′41″E / 45.382537°N 141.028061°E / 45.382537; 141.028061礼文岛(日语:礼文島/れぶんとう Rebuntō */?)是位于日本北海道北部、稚内以西方60
  • 太原街不同地方都有街道以“太原”命名,你找的可能是:
  • 饶州饶州,隋朝时设置的州。开皇九年(589年)置,治所在鄱阳县(今属江西省)。大业三年(607年)改为鄱阳郡;唐朝武德初年,复为饶州,辖境相当今江西省鄱江、信江两流域(婺源县、玉山县除外);天宝元年
  • 比尔·格瓦特尼比尔·格瓦特尼(Bill Gwatney,1959年8月26日-2008年8月13日),美国民主党政治人物,曾任阿肯色州民主党主席(2007年-2008年),也是迈克·戴尔·毕比的财政助手。格瓦特尼出生于阿肯色州,
  • 菲律宾活火山列表本表依据菲律宾火山学及地震学研究所(英语:Philippine Institute of Volcanology and Seismology)(PHIVOLCS)分类,列出菲律宾境内的活火山,记录近600年来有人类记录的火山喷发事件,
  • 雨中歌唱的谭诗曲《雨中歌唱的谭诗曲》(日文名:雨に歌う譚詩曲 ~A rainbow after the rain~;简称:雨歌。)是 Emu 公司制作并于2002年2月1日发布的18禁恋爱冒险游戏。浅野孝一(男主角)是住在松野泽市内