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