Skip to content Skip to sidebar Skip to footer

Unicodedecodeerror: 'ascii' Codec Can't Decode Byte 0xea In Position 8: Ordinal Not In Range(128)

I'm writing data, fetched from jobs API, to the Google spreadsheet. Following encoding for 'latin-1' encodes till page# 93 but when reaches 94, it goes in exception. I've used diff

Solution 1:

You are calling unicode() on a byte string value, which means Python will have to decode to Unicode first:

>>> unicode('\xea')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeDecodeError:'ascii' codec can't decode byte 0xea in position 0: ordinal not in range(128)

It is this decoding that fails, not the encoding from Unicode back to byte strings.

You either already have Latin-1 input data, or you should decode using the appropriate codec:

unicode(row[j], 'utf8').encode('latin1')

or using str.decode():

row[j].decode('utf8').encode('latin1')

I picked UTF-8 as an example here, you didn't provide any detail about the input data or its possible encodings. You need to pick the right codec yourself here.

Post a Comment for "Unicodedecodeerror: 'ascii' Codec Can't Decode Byte 0xea In Position 8: Ordinal Not In Range(128)"