Я пытаюсь преобразовать кодированную строку ISO 8859-1 в UTF-8.
Следующая функция работает с моими testdata, которые содержат немецкие умлауты, но я не совсем уверен, что источник, кодирующий руну (б), принимает предположения. Принимает ли он какую-то кодировку по умолчанию, например. 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())
}