1 回答
TA贡献1906条经验 获得超10个赞
以下是 Go 中编码的已知别名:macintosh
var nameMap = map[string]htmlEncoding{
// ...
"csmacintosh": macintosh,
"mac": macintosh,
"macintosh": macintosh,
"x-mac-roman": macintosh,
// ...
}
由于 不在该列表中,因此您可以使用函数字段通过设置macromanCharsetReader
decoder.CharsetReader = charsetReader
在哪里:charsetReader
func charsetReader(charset string, input io.Reader) (io.Reader, error) {
if isCharsetMacintosh(charset) {
return transform.NewReader(input, charmap.Macintosh.NewDecoder()), nil
}
return input, nil
}
var macNames = []string{
"macroman",
"csmacintosh",
"mac",
"macintosh",
"x-mac-roman",
}
func isCharsetMacintosh(charset string) bool {
charset = strings.ToLower(charset)
for _, n := range macNames {
if charset == strings.ToLower(n) {
return true
}
}
return false
}
如果您需要更多信息,这里的答案可能会有所帮助:在Go中取消ISO-8859-1 XML输入。查看函数的源代码并遵循函数调用也很有帮助。charset.NewReaderLabel
- 1 回答
- 0 关注
- 233 浏览
添加回答
举报