1 回答
TA贡献1784条经验 获得超8个赞
charmap.ISO8859_9.NewEncoder().Bytes() 函数想要 UTF-8 格式进行编码。当我尝试对字节进行编码时出现错误。因为我传入的字节是 8859-9 格式,我试图直接转换它们。首先,我将字节解码为 UTF-8 格式。我完成了我的过程,最后我使用编码器将这个 UTF-8 字节编码为 ISO8859-9 unicode。这是新代码。
//main package
bytes, err := textproc.R.ReadBytes(constant.EndTextDelimiter)
checkError(err)
msg := encoder.DecodeISO8859_9ToUTF8(bytes)
//..........
// Process that string, create struct Then convert struct to json bytes
// Then encode that bytes
json := encoder.EncodeUTF8ToISO8859_9(bytes)
//encoder package
package encoder
import "golang.org/x/text/encoding/charmap"
func DecodeISO8859_9ToUTF8(bytes []byte) string {
encoded, _ := charmap.ISO8859_9.NewDecoder().Bytes(bytes)
return string(encoded[:])
}
func EncodeUTF8ToISO8859_9(bytes []byte) string {
encoded, _ := charmap.ISO8859_9.NewEncoder().Bytes(bytes)
return string(encoded[:])
}
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报