Go有非常好的io.Reader和io.Writer接口,其大致对应于java.io.InputStream并java.io.OutputStream在Java类(即io.Reader =字节流,io.Writer =为字节汇)。
我想知道,Go 是否也有一些等效的java.io.Reader(字符流)和java.io.Writer(字符接收器)类。
我想要的是从/向流读取/写入字符串,而无需一直考虑编码 + 支持不同的编码,而不仅仅是 UTF8(这是 io.Reader + 字符串类型转换的组合几乎免费为我提供的)。
更新:所以我想我的描述令人困惑,我应该避免与 Java 的东西进行比较。我想要的是这样的:
Reader 部分,读取接下来的 128 个字节,并通过使用 ISO-8859-2 字符集解码字节返回 Go 字符串。
stringReader := NewStringReader(reader, "iso-8859-2")
stringReader.read(128)
编写器部分,将内容转换为 UTF16-BE 字节,并将其写入编写器:
stringWriter := NewStringWriter(writer, "utf16be")
stringWriter.write("馞鮂擙樲橚褗褆諓");
相关分类