将字节数组解码为unicode时检测空字符串? (蟒蛇)

时间:2014-11-10 05:24:46

标签: python unicode

我试图逐个字符地读取字节数组并将其解码为unicode字符串,如下所示:

current_character = byte_array[0:1].decode("utf-8")

对于每个角色,我都试图检查.decode(" utf-8")的结果是否等于空字符串,但我似乎无法检测到这个。当我打印出解码结果时,我得到空字符串。但是,如何将此检测转换为代码?

我试过了:

if not current_character

if current_character is u""

但他们都不工作。有什么建议吗?

4 个答案:

答案 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 #...