Usuń nieprawidłowe znaki UTF-8 z łańcucha (Go lang)
Dostaję to na json.Marshal z listy ciągów:
json: invalid UTF-8 in string: "...ole\xc5\"
Powód jest oczywisty, ale jak mogę usunąć / zastąpić takie ciągi w Go? Czytałem docstunicode
iunicode/utf8
pakiety i nie ma oczywistego / szybkiego sposobu, aby to zrobić.
Na przykład w Pythonie masz metody, w których można usunąć nieprawidłowe znaki, zastąpić je określonym znakiem lub ścisłym ustawieniem, co powoduje wyjątek w przypadku nieprawidłowych znaków. Jak mogę zrobić coś podobnego w Go?
UPDATE: Miałem na myśli powód uzyskania wyjątku (paniki?) - niedozwolonego znaku w tym, co json.Marshal oczekuje na poprawny ciąg UTF-8.
(jak nielegalna sekwencja bajtów dostała się do tego ciągu nie jest ważna, zwykły sposób - błędy, uszkodzenie plików, inne programy, które nie są zgodne z kodowaniem Unicode itp.)