解码Ascii85的长度

ascii85具有获取最大编码长度的功能MaxEncodedLen()

我认为它应该像在Base64中一样,也具有在解码时获得长度的功能。

http://golang.org/pkg/encoding/ascii85/


蛊毒传说
浏览 307回答 2
2回答

慕桂英3389331

这是一个为编码字节计算Go的函数。package ascii85 MaxDecodedLen()nfunc MaxDecodedLen(n int) int {    const binWordLen = 4    return n * binWordLen}如果未编码组的所有四个字节均为零,则它们将由单个字节(字符)表示z,而不是由五个感叹号(!!!!!)表示。在一些实施方式中,未编码的空格组可以由单个字符表示y。ascii85.Decode()与不同ascii85.Encode(),,除了具有写入的字节数()参数外,还具有消耗的字节数(nsrc)和flush参数,ndst这允许程序员逐个解码多个块或单个块。因此,MaxDecodedLen()可以使用小于的目标缓冲区。

PIPIONE

我认为,在对MaxEncodedLen()进行编码时,必须知道保持编码输出所需的字节数(即目标缓冲区大小)。在解码的情况下,调用方可以传递大小等于源缓冲区的目标缓冲区,尽管目标缓冲区的大小可以较小。或者,如果编码和解码的执行上下文/范围相同,则可以使用原始源,即普通非编码缓冲区大小。因此,期望的函数MaxDecodedLen()是可选的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go