这听起来太基本了,我不想问,但这就是问题。我有个告别。我想检查数组中是否存在“a”或“a”,并打印它们的计数。我做了以下事情,但我没有看到任何东西,即使我知道里面有“a”—
a_bytes = bytearray.fromhex(hex_string)
count = 0
for x in a_bytes:
if ( (x=='a') or (x == 'A') ):
count = count+1
return count
为什么上面的代码不起作用?我把字节值打印成整数,我看到65重复了多次。 然后我再次尝试使用int('a')将常量'a'转换为整数,但是我得到一个错误--
^{pr2}$
使用函数
ord
和chr
完成字符及其整数值之间的转换。所以ord('A') == 65
。在当字节数组将值存储为int时,结果是
这是因为}是{}
True
是1
,而{如果要处理字符串和字符,需要先对字节数据进行解码:
bytearray中的值存储为整数,而不是十六进制表示。您需要搜索}。在
65
或97
,而不是"A"
或{如果你想用这个来查找字符串,只需使用一个列表。如果您对字节的整数值不感兴趣,那么bytearray不是正确的选择。另外,如果使用list,则可以使用list的
.count
方法直接计算特定值的出现次数。在相关问题 更多 >
编程相关推荐