The loop takes each byte of the iso8859Str slice assuming it is of type []byte
Because iso-8859-1 is incorperated as the first 256 code points of Unicode, you have no need of actual conversion from iso-8859-1 to Unicode.
However, what you need to do is to UTF-8 encode the Unicode rune. This is done by Buffer.WriteRune()
WriteRune appends the UTF-8 encoding of Unicode code point r to the buffer