/ / 'utf8' nemôže dekódovať bajt 0xc3 pri dekódovaní ('utf-8') v python-python, encoding, utf-8

Kodec "utf8" nemôže dekódovať bajt 0xc3 pri dekódovaní ('utf-8') v python-python, kódovanie, utf-8

Dnes som bol v mojom skripte zasiahnutý podivnou chybou:

"utf8" codec can"t decode byte 0xc3 in position 21: invalid continuation byte

Čítam údaje zo zásuvky sock.recv a výsledok je buff.decode("utf-8") kde buff sú vrátené dáta.

Ale dnes som našiel skoro "jednorožec", kde jedenznakov vrátených "▒" <- to je to, čo vykresli dekódovanie utf-8 do výnimky. Existuje nejaký predbežný proces, ktorý buď odstráni alebo nahradí takýto zvláštny znak?

odpovede:

5 pre odpoveď č. 1

Existuje druhý parameter pre .decode() pomenovaný errors, Môžete ho nastaviť "ignore" ignorovať všetky znaky, ktoré nie sú utf8, alebo ich nastaviť "replace" nahradiť ich otáznikom diamantu ( ).

buff.decode("utf-8", "ignore")