如何在Python3中将字节串列表转换为字符串

时间:2017-03-06 12:16:42

标签: python string python-3.x

我通过Github API在base64解码后得到了这个:

[b'<!DOCTYPE html>\n', b'<html>\n', b'    <head>\n']

我真的很喜欢字符串(\n行结尾)或字符串列表。

我花了一个小时追逐TypeError: a bytes-like object is required, not 'str',因为我认为它已经已经一个字符串列表,并且在我意识到根本原因在其他地方之前质疑我自己的lambda / filter技能。我尝试使用谷歌搜索,但我只是点击&#39; python字节到字符串&#39;这是不同的。

1 个答案:

答案 0 :(得分:3)

如果您需要单个字符串,则可以map bytes.decode每个元素的join方法然后l = [b'<!DOCTYPE html>\n', b'<html>\n', b' <head>\n'] s = "".join(map(bytes.decode, l))

decode

或者,如果需要列表,请在list-comp中的每个元素上调用ls = [i.decode() for i in l]

>>> print(repr(s))  # repr to show \n 
'<!DOCTYPE html>\n<html>\n    <head>\n'
>>> print(ls)
['<!DOCTYPE html>\n', '<html>\n', '    <head>\n']

结果现在是:

MyServiceModuleOne