Удалить недопустимые символы UTF-8 из строки (Go lang)
Я получаю это на json.Marshal из списка строк:
json: invalid UTF-8 in string: "...ole\xc5\"
Причина очевидна, но как я могу удалить / заменить такие строки в Go? Я читал документы наunicode
а такжеunicode/utf8
пакеты и, кажется, нет очевидного / быстрого способа сделать это.
Например, в Python у вас есть методы для него, где недопустимые символы могут быть удалены, заменены указанным символом или строгой установкой, которая вызывает исключение для недопустимых символов. Как я могу сделать эквивалентную вещь в Go?
ОБНОВЛЕНИЕ: Я имел в виду причину получения исключения (паника?) - недопустимый символ в том, что json.Marshal ожидает, чтобы быть действительной строкой UTF-8.
(как недопустимая последовательность байтов, попавшая в эту строку, не важна, обычным способом - ошибки, повреждение файла, другие программы, которые не соответствуют юникоду и т. д.)