Arrays Python:字节被写成字符串

Arrays Python:字节被写成字符串,arrays,python-3.x,unicode,byte,Arrays,Python 3.x,Unicode,Byte,上面的代码将字节写入字符串。以下是文件的外观: # Text to Binary message = "Hello" # str binary_message = message.encode('utf-8') print(type(binary_message)) # bytes f = open("bmsg", "wb") f.write(binary_message) f.close() 我认为它会编写字符串的二进制表示形式Hello。如何实现这一点?您希望字符串“Hello”的“二

上面的代码将字节写入字符串。以下是文件的外观:

# Text to Binary
message = "Hello"  # str
binary_message = message.encode('utf-8')
print(type(binary_message))  # bytes
f = open("bmsg", "wb")
f.write(binary_message)
f.close()

我认为它会编写字符串的二进制表示形式
Hello
。如何实现这一点?

您希望字符串“Hello”的“二进制表示”是什么?它写了5个字节,其值恰好可以显示为普通字符。。。你期望的是什么?我期望的是
Hello
的二进制表示,即0和1或十六进制?我遗漏了什么?你的意思是做类似于
f.write(binascii.hexlify(binary_message))
的事情吗?我不明白这里的混乱之处。。。一个字节可以有256个值中的一个。。。其中一些值恰好可以作为某些字符轻松查看。。。因此,如果您写出字节
[104、101、108、108、111]
。。。然后,这些值很容易映射到显示为
hello
的字符。。。所以
h
是一个值为104的字节。。。但它显示为
h
。。。在文本编辑器或类似的。。。如果您在十六进制查看器/二进制查看器中查看文件,那么您将看到字节的值,而不是它们的表示形式,这是因为您的文本编辑器读取该文件,但不识别字节的编码,因此它将退出并以十六进制显示。
Hello