Python 3 how to convert a list of bytes objects to a list of strings?

Cameron Simpson cs at cskk.id.au
Thu Aug 27 18:09:27 EDT 2020


On 27Aug2020 23:54, Marco Sulla <Marco.Sulla.Python at gmail.com> wrote:
>Are you sure you want `str()`?
>
>>>> str(b'aaa')
>"b'aaa'"
>
>Probably you want:
>
>map(lambda x: x.decode(), bbb)

_And_ you need to know the encoding of the text in the bytes. The above 
_assumes_ UTF-8 because that is the default for bytes.decode, and if 
that is _not_ what is in the bytes objects you will get mojibake.

Because a lot of stuff is "mostly ASCII", this is the kind of bug which 
can lurk until much later when you have less usual data.

Cheers,
Cameron Simpson <cs at cskk.id.au>


More information about the Python-list mailing list