作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我非常简单的代码片段:
import "net/http"
import "io"
import "os"
func main() {
resp, err := http.Get("http://example.com")
if err == nil {
io.Copy(os.Stdout, resp.Body)
}
}
当 example.com
是 charset=iso-8859-1
编码时,我的输出是错误的。例如,变音符号显示不正确:
Hällo Wörld --> H?llo W?rld
正确显示变音符号的好的解决方案是什么?
最佳答案
您可以使用包 golang.org/x/net/html/charset确定网站的编码,并创建一个将内容转换为 UTF-8 的阅读器。
下面是一个工作示例:
package main
import (
"io"
"net/http"
"os"
"golang.org/x/net/html/charset"
)
func main() {
resp, err := http.Get("http://example.com")
if err != nil {
os.Exit(1)
}
r, err := charset.NewReader(resp.Body, resp.Header.Get("Content-Type"))
if err != nil {
os.Exit(1)
}
io.Copy(os.Stdout, r)
}
关于http - ISO-8859-1 编码网站中的变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39241563/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!