普通网友
2012-11-22 10:18
浏览 588
已采纳

golang将iso8859-1转换为utf8

I am trying to convert an ISO 8859-1 encoded string to UTF-8.

The following function works with my testdata which contains german umlauts, but I'm not quite sure what source encoding the rune(b) cast assumes. Is it assuming some kind of default encoding, e.g. ISO8859-1 or is there any way to tell it what encoding to use?

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())
}

图片转代码服务由CSDN问答提供 功能建议

我正在尝试将ISO 8859-1编码的字符串转换为UTF-8。</ p> \ n

以下函数与包含德国变音符的testdata一起使用,但是我不太确定假设使用哪种编码符文(b)的源。 是否假设某种默认编码,例如 是ISO8859-1还是有什么办法告诉它使用哪种编码?</ p>

  func toUtf8(iso8859_1_buf [] byte)字符串{
 var buf = bytes.NewBuffer(make  ([[] byte,len(iso8859_1_buf)* 4))
表示_,b:= range(iso8859_1_buf){
r:= rune(b)
 buf.WriteRune(r)
} 
返回字符串(  buf.Bytes())
} 
 </ code> </ pre> 
 </ div>

2条回答 默认 最新

相关推荐 更多相似问题