我试图逐个字符地读取字节数组并将其解码为unicode字符串,如下所示:
current_character = byte_array[0:1].decode("utf-8")
对于每个角色,我都试图检查.decode(" utf-8")的结果是否等于空字符串,但我似乎无法检测到这个。当我打印出解码结果时,我得到空字符串。但是,如何将此检测转换为代码?
我试过了:
if not current_character
if current_character is u""
但他们都不工作。有什么建议吗?
答案 0 :(得分:2)
二进制字符串似乎写成b'some data'
,所以试试这个:
if current_character == b'':
# Code
答案 1 :(得分:1)
if not current_character:
是查明Python中current_character
是否为空字符串的正确方法。它相当于if len(current_character) == 0:
>>> not ''
True
>>> not b''
True
如果它对您不起作用,那么代码中的其他内容就会被破坏。
答案 2 :(得分:0)
试试这个:
if current_character == '':
print('empty string')
答案 3 :(得分:0)
无需解码一个字节,只需检查它是否等于0
current_character = byte_array[x:x+1]
if current_character == 0x00:
pass #...