Eliminar los caracteres UTF-8 no válidos de una cadena (Go lang)
Obtengo esto en json.Marshal de una lista de cadenas:
json: invalid UTF-8 in string: "...ole\xc5\"
El motivo es obvio, pero ¿cómo puedo eliminar / reemplazar tales cadenas en Go? He estado leyendo docst enunicode
yunicode/utf8
Paquetes y no parece una forma obvia / rápida de hacerlo.
En Python, por ejemplo, tiene métodos para eliminar los caracteres no válidos, reemplazarlos por un carácter específico o una configuración estricta que genera excepciones en caracteres no válidos. ¿Cómo puedo hacer algo equivalente en Go?
ACTUALIZACIÓN: Me refiero a la razón para obtener una excepción (¿pánico?) - char ilegal en lo que json.Marshal espera que sea una cadena UTF-8 válida.
(la forma en que la secuencia de bytes ilegal ingresó en esa cadena no es importante, de la forma habitual: errores, corrupción de archivos, otros programas que no se ajustan a Unicode, etc.)