jjzjj

rss-reader

全部标签

go - Go 中有 java.io.Reader 等价物吗?

Go有非常好的io.Reader和io.Writer接口(interface),大致对应于java.io.InputStream和Java中的java.io.OutputStream类(即io.Reader=字节流,io.Writer=字节接收器)。我想知道,如果Go也有一些等同于java.io.Reader(字符流)和java.io.Writer(字符接收器)类。我想要的是从流中读取/写入字符串,而无需一直考虑编码+支持不同的编码,而不仅仅是UTF8(这是io.Reader+字符串类型转换的组合几乎免费给我的)).更新:所以我想我的描述很困惑,我应该避免与Java的东西进行比较。我想

encryption - 为什么 crypto/rsa 库中的 Go 函数 EncryptOAEP 需要一个随机的 io.Reader?

我正在编写一个文件服务器,它在客户端加密数据,通过TCP发送数据,并在服务器端使用非对称RSA-OAEP加密对其进行解密。我一直在尝试使用两个主要函数,它们根据documentation采用以下参数:EncryptOAEP(hashhash.Hash,randomio.Reader,pub*PublicKey,msg[]byte,label[]byte)(out[]byte,errerror)DecryptOAEP(hashhash.Hash,randomio.Reader,priv*PrivateKey,ciphertext[]byte,label[]byte)(msg[]byte,

encryption - 为什么 crypto/rsa 库中的 Go 函数 EncryptOAEP 需要一个随机的 io.Reader?

我正在编写一个文件服务器,它在客户端加密数据,通过TCP发送数据,并在服务器端使用非对称RSA-OAEP加密对其进行解密。我一直在尝试使用两个主要函数,它们根据documentation采用以下参数:EncryptOAEP(hashhash.Hash,randomio.Reader,pub*PublicKey,msg[]byte,label[]byte)(out[]byte,errerror)DecryptOAEP(hashhash.Hash,randomio.Reader,priv*PrivateKey,ciphertext[]byte,label[]byte)(msg[]byte,

go - 如何 "bridge"writer 和 reader in go

我通常在Golang中使用Reader和Writer找到自己的方式,但我遇到了一个对我来说很陌生的情况。我正在使用“golang.org/x/net/html”渲染。它输出到Writerw。我想使用该输出并从中创建一个新请求。NewRequest使用一个Readerr。err:=html.Render(w,msg)...req,err:=http.NewRequest("Post",url,r)io.Copy(w,r)我的问题是“使用w和r绑定(bind)两个调用的最佳/理想解决方案是什么?”。我在网上找不到类似情况的示例。我正在考虑创建Reader和Writer并对它们使用io.Co

go - 如何 "bridge"writer 和 reader in go

我通常在Golang中使用Reader和Writer找到自己的方式,但我遇到了一个对我来说很陌生的情况。我正在使用“golang.org/x/net/html”渲染。它输出到Writerw。我想使用该输出并从中创建一个新请求。NewRequest使用一个Readerr。err:=html.Render(w,msg)...req,err:=http.NewRequest("Post",url,r)io.Copy(w,r)我的问题是“使用w和r绑定(bind)两个调用的最佳/理想解决方案是什么?”。我在网上找不到类似情况的示例。我正在考虑创建Reader和Writer并对它们使用io.Co

go - 涉及 CSV 文件的 io.Reader 和换行符问题

我有一个应用程序处理通过RabbitMQ从许多不同的上游应用程序传送的CSV-通常每个文件5000-15,000行。大多数时候效果很好。然而,这些上游应用程序中有几个已经过时(12-15年),编写它们的人早已不复存在。由于换行,我无法从这些较旧的应用程序中读取CSV文件。我发现这有点奇怪,因为换行符会映射到UTF-8回车(http://www.fileformat.info/info/unicode/char/000d/index.htm)。通常,该应用程序只会读取那些旧文件的标题,而不会读取其他任何内容。如果我在文本编辑器中打开这些文件之一并另存为utf-8编码覆盖现有文件,那么它可

go - 涉及 CSV 文件的 io.Reader 和换行符问题

我有一个应用程序处理通过RabbitMQ从许多不同的上游应用程序传送的CSV-通常每个文件5000-15,000行。大多数时候效果很好。然而,这些上游应用程序中有几个已经过时(12-15年),编写它们的人早已不复存在。由于换行,我无法从这些较旧的应用程序中读取CSV文件。我发现这有点奇怪,因为换行符会映射到UTF-8回车(http://www.fileformat.info/info/unicode/char/000d/index.htm)。通常,该应用程序只会读取那些旧文件的标题,而不会读取其他任何内容。如果我在文本编辑器中打开这些文件之一并另存为utf-8编码覆盖现有文件,那么它可

go - 将 csv.Reader() 用于 "chan string"的有效方法

我有一个“chanstring”,其中每个条目都是一个CSV日志行,我想将其转换为列“[]string”,目前我正在(效率低下)创建一个csv.NewReader(strings.NewReader(i))对于每个项目,看起来比实际需要做的工作多得多:fori:=rangefeederChan{r:=csv.NewReader(strings.NewReader(i))a,err:=r.Read()iferr!=nil{//logerror...continue}//thendostuffwith'a'//...}所以,如果有更有效的方法来做到这一点,我真的很感激分享,比如创建一次cs

go - 将 csv.Reader() 用于 "chan string"的有效方法

我有一个“chanstring”,其中每个条目都是一个CSV日志行,我想将其转换为列“[]string”,目前我正在(效率低下)创建一个csv.NewReader(strings.NewReader(i))对于每个项目,看起来比实际需要做的工作多得多:fori:=rangefeederChan{r:=csv.NewReader(strings.NewReader(i))a,err:=r.Read()iferr!=nil{//logerror...continue}//thendostuffwith'a'//...}所以,如果有更有效的方法来做到这一点,我真的很感激分享,比如创建一次cs

go - 为什么 ReadRequest 使用 bufio.Reader?

方法http.ReadRequest采用bufio.Reader而不是io.Reader。这背后的原因是什么? 最佳答案 无论如何它都会使用缓冲读取器。但由于bufio.Reader的性质,它不会自动将您的io.Reader包装到缓冲区中-它可以从底层io.Reader获取更多数据该算法实际上需要。并且,由于底层io.Reader无法推回超出的数据,因此它将保留在该缓冲区中。如果自动换行,读取请求后缓冲区将丢失并且您的io.Reader已损坏。因此,它要求您显式包装您的阅读器以防止数据丢失。