2 回答

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
這是一個(gè)為編碼字節(jié)計(jì)算Go的函數(shù)。package ascii85 MaxDecodedLen()n
func MaxDecodedLen(n int) int {
const binWordLen = 4
return n * binWordLen
}
如果未編碼組的所有四個(gè)字節(jié)均為零,則它們將由單個(gè)字節(jié)(字符)表示z,而不是由五個(gè)感嘆號(hào)(!!!!!)表示。在一些實(shí)施方式中,未編碼的空格組可以由單個(gè)字符表示y。
ascii85.Decode()與不同ascii85.Encode(),,除了具有寫(xiě)入的字節(jié)數(shù)()參數(shù)外,還具有消耗的字節(jié)數(shù)(nsrc)和flush參數(shù),ndst這允許程序員逐個(gè)解碼多個(gè)塊或單個(gè)塊。因此,MaxDecodedLen()可以使用小于的目標(biāo)緩沖區(qū)。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
我認(rèn)為,在對(duì)MaxEncodedLen()進(jìn)行編碼時(shí),必須知道保持編碼輸出所需的字節(jié)數(shù)(即目標(biāo)緩沖區(qū)大?。?。
在解碼的情況下,調(diào)用方可以傳遞大小等于源緩沖區(qū)的目標(biāo)緩沖區(qū),盡管目標(biāo)緩沖區(qū)的大小可以較小。
或者,如果編碼和解碼的執(zhí)行上下文/范圍相同,則可以使用原始源,即普通非編碼緩沖區(qū)大小。因此,期望的函數(shù)MaxDecodedLen()是可選的。
- 2 回答
- 0 關(guān)注
- 345 瀏覽
添加回答
舉報(bào)