为了账号安全,请及时绑定邮箱和手机立即绑定

golang将iso8859-1转换为utf8

golang将iso8859-1转换为utf8

Go
米脂 2021-05-14 18:23:52
我正在尝试将ISO 8859-1编码的字符串转换为UTF-8。以下函数适用于包含德语变音符的testdata,但是我不太确定假设使用哪种编码rune(b)强制转换的源。它是否假设某种默认编码,例如ISO8859-1,或者有什么方法可以告诉它使用哪种编码?func toUtf8(iso8859_1_buf []byte) string {   var buf = bytes.NewBuffer(make([]byte, len(iso8859_1_buf)*4))   for _, b := range(iso8859_1_buf) {      r := rune(b)      buf.WriteRune(r)   }   return string(buf.Bytes())}
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

的效果

r := rune(expression)

是:

  • 声明变量r的类型rune(int32的别名)。

  • r用expresion的值初始化变量。

不涉及(重新)编码,仅通过显式编写/处理代码中的某些重新编码,才有可能说应该选择使用哪一种。幸运的是,在这种情况下,不需要(重新)编码,Unicode以与ASCII相当的方式合并了ISO 8859-1的那些代码。(如果我在这里正确检查


查看完整回答
反对 回复 2021-05-24
  • 2 回答
  • 0 关注
  • 683 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信