亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Base58編碼的長度是如何計算的?

MyFaith / 2585人閱讀

摘要:是由中本聰為設(shè)計的。在編碼后的字符串中,每一個字符都是從個字符中當(dāng)中選擇出來的。換句話說,每一個字母代表的信息量是。我們輸入的字節(jié)流信息量是固定的那么,需要預(yù)留的字符數(shù)量就是經(jīng)過換算,最后,還需要加向上取整最終結(jié)果就是

base58 是由中本聰為bitcoin設(shè)計的。

相比與base64的字符,他將一些直觀看來模糊的字符去除了。

字符共58個

1-9 共9個

大寫字母A-Z(不包括O、I),共24個

小寫字母a-z (不包括l),共25個

在一些base58的實現(xiàn)代碼中,我們往往需要為生成的編碼后的字符串預(yù)留空間,這是如何計算的呢?

例如一段源碼及注釋:

std::vector b58((pend - pbegin) * 138 / 100 + 1); 
// log(256) / log(58), rounded up

這個公式看起來有點讓人摸不著頭腦,但經(jīng)過一些思考,我想明白了。

在編碼后的字符串中,每一個字符都是從58個字符中當(dāng)中選擇出來的。那么這58種不同的信息可以用多少bit來代替呢?顯然答案是log(2)58。換句話說,每一個字母代表的信息量是log(2)58 bit。

我們輸入的字節(jié)流信息量是固定的:(byte_length * 8)bit

那么,需要預(yù)留的字符數(shù)量就是(byte_length * 8)/ log258

經(jīng)過換算,

(byte_length * 8)/ log258 =
(byte_length * log2256) / log258 =
byte_length * 1.38

最后,還需要加向上取整

最終結(jié)果就是 byte_length * 1.37 + 1

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/24122.html

相關(guān)文章

  • 區(qū)塊鏈基礎(chǔ)知識

    摘要:區(qū)塊鏈技術(shù)基礎(chǔ)什么是區(qū)塊鏈技術(shù)運行區(qū)塊鏈客戶端的計算節(jié)點彼此可以相互通信。區(qū)塊鏈的組成模塊區(qū)塊鏈賬本。區(qū)塊鏈技術(shù)的意義數(shù)據(jù)不可篡改。區(qū)塊鏈中會對區(qū)塊頭進行哈希計算,得出該區(qū)塊的哈希值。這保證了每個區(qū)塊被加入鏈后不可被修改。 區(qū)塊鏈技術(shù)基礎(chǔ) 什么是區(qū)塊鏈技術(shù)? 運行區(qū)塊鏈客戶端的計算節(jié)點彼此可以相互通信。 每個節(jié)點維護一個賬本。 每個節(jié)點的收支記錄都會廣播給其他節(jié)點。 篩選出一個節(jié)點作...

    acrazing 評論0 收藏0
  • 如何在Java中生成比特幣錢包地址

    摘要:公鑰上面生成的密鑰的公共部分被編碼為比特幣地址。使用對地址進行編碼我們現(xiàn)在使用庫中的方法來獲得最終的比特幣地址。這是比特幣應(yīng)在交易中發(fā)送到的地址。這是一個如何在中生成比特幣地址的演示文稿。 讓我們通過學(xué)習(xí)比特幣(Bitcoin)如何實施該技術(shù)的各個方面來工作,好嗎?該技術(shù)包括以下幾個方面: 比特幣地址bitcoin address是用來發(fā)送和接收比特幣的。 交易transaction...

    kidsamong 評論0 收藏0
  • 如何在Java中生成比特幣錢包地址

    摘要:公鑰上面生成的密鑰的公共部分被編碼為比特幣地址。使用對地址進行編碼我們現(xiàn)在使用庫中的方法來獲得最終的比特幣地址。這是比特幣應(yīng)在交易中發(fā)送到的地址。這是一個如何在中生成比特幣地址的演示文稿。 讓我們通過學(xué)習(xí)比特幣(Bitcoin)如何實施該技術(shù)的各個方面來工作,好嗎?該技術(shù)包括以下幾個方面: 比特幣地址bitcoin address是用來發(fā)送和接收比特幣的。 交易transaction...

    liaorio 評論0 收藏0
  • Base64編碼

    摘要:編碼三個重要概念三個字節(jié)由四個字節(jié)表示的過程碼表補位如何用三個字節(jié)表示四個字節(jié)一個字節(jié)由位二進制組成,三個字節(jié)總共位,所以轉(zhuǎn)換后有效的二進制位數(shù)為位。 Base64編碼 1、三個重要概念 三個字節(jié)由四個字節(jié)表示的過程 Base64碼表 補位 2、如何用三個字節(jié)表示四個字節(jié) 一個字節(jié)由8位二進制組成,三個字節(jié)總共24位,24 ÷ 4 = 6 , 所以轉(zhuǎn)換后有效的二進制位數(shù)為6位。計算...

    iliyaku 評論0 收藏0
  • 基于Java語言構(gòu)建區(qū)塊鏈(五)—— 地址(錢包)

    摘要:本質(zhì)上,比特幣錢包就是一對這樣的密鑰。例如,一個錯誤比特幣地址就不會被錢包認(rèn)為是有效的地址,否則這種錯誤會造成資金的丟失。 showImg(https://segmentfault.com/img/remote/1460000013982997?w=1920&h=1053); 最終內(nèi)容請以原文為準(zhǔn):https://wangwei.one/posts/f90... 引言 在 上一篇 文...

    entner 評論0 收藏0

發(fā)表評論

0條評論

MyFaith

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<