【发布时间】:2020-12-28 19:57:50
【问题描述】:
例如给定一个任意字符串。可以是chars 或只是随机的bytes:
string = '\xf0\x9f\xa4\xb1'
我要输出:
b'\xf0\x9f\xa4\xb1'
这看起来很简单,但我在任何地方都找不到答案。当然,只需键入b 后跟字符串即可。但我想做这个运行时,或者从一个包含字节字符串的变量中。
如果给定的string 是AAAA 或一些已知的characters,我可以简单地做string.encode('utf-8'),但我希望字节串只是随机的。对'\xf0\x9f\xa4\xb1'(随机字节)这样做会产生意想不到的结果b'\xc3\xb0\xc2\x9f\xc2\xa4\xc2\xb1'。
一定有更简单的方法吗?
编辑:
我想在不使用编码的情况下将字符串转换为字节
【问题讨论】:
-
是否要将字符串转换为字节?目前尚不清楚所需的解决方案是什么......如果您知道它是一个没有 b 的字节字符串,您可以进行一些字符串格式化。如果您需要以字节为单位,您可以致电
bytes(string)。这有帮助吗:stackoverflow.com/questions/606191/convert-bytes-to-a-string ? -
是的,我想简单地将字符串转换为字节
-
好的,我看到了你的问题。您可能需要使用原始字符串
-
bytes函数接受string和encoding。由于我期望的字节是随机的,我不想为它选择编码