gpt4 book ai didi

go - Golang的base64实现

转载 作者:行者123 更新时间:2023-12-01 22:33:26 25 4
gpt4 key购买 nike

最近,我一直在寻找golang的base64实现。
有人可以在编码器结构中解释 buf 的目的以及在中编写函数的用法吗?

type encoder struct {
err error
enc *Encoding
w io.Writer
buf [3]byte // buffered data waiting to be encoded
nbuf int // number of bytes in buf
out [1024]byte // output buffer
}

这是完整的实现:
https://golang.org/pkg/encoding/base64/#NewEncoder
坦克:)

最佳答案

base64将输入的每个字节(8位)编码为6位输出。将其舍入为整数字节单位-输入的每3个字节将产生4个字节的base64输出。
因此,当对字节流进行编码时,需要保持先前字节编码的状态,即3字节的缓冲器。
那么,如果输入流长度不是3的倍数会发生什么呢?当流结束时,缓冲区中任何剩余的部分字节(即1或2个字节)将被填充一个或两个=字符。

关于go - Golang的base64实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63862172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com