如何在Python中进行安全的二进制比较?

1 投票
1 回答
8989 浏览
提问于 2025-04-16 17:21

我有一段代码,它在运行时出现了一个警告:

UnicodeWarning: Unicode 等值比较未能将两个参数转换为 Unicode - 将它们视为不相等

try:
    f = open_old(filename, "rb")
    aBuf = f.read(4)
    f.close()
except:
    aBuf=b''
if aBuf[:3] == b'\xEF\xBB\xBF':
    print("...")

我想知道如何正确地从文件中读取3个字节,并检查它们的值。

我希望找到一个在 Python 2.6 及更新版本(包括 3.x)中都能正常工作的解决方案。

1 个回答

1

解决办法是,在你读取字符串之后,把它转换成字节:aBuf = bytes(f.read(4))

撰写回答