gpt4 book ai didi

Python将字节字符串转换为字节数组

转载 作者:行者123 更新时间:2023-12-04 16:29:47 25 4
gpt4 key购买 nike

例如给定一个任意字符串。可以是 chars或只是随机 bytes :

string = '\xf0\x9f\xa4\xb1'

我想输出:
b'\xf0\x9f\xa4\xb1'

这看起来很简单,但我在任何地方都找不到答案。当然只需输入 b后面跟着字符串就行了。但是我想执行这个运行时,或者从一个包含字节字符串的变量中执行。

如果给定 stringAAAA或一些已知的 characters我可以简单地做 string.encode('utf-8') ,但我希望字节串只是随机的。这样做 '\xf0\x9f\xa4\xb1' (随机字节)产生意外结果 b'\xc3\xb0\xc2\x9f\xc2\xa4\xc2\xb1' .

必须有一个更简单的方法来做到这一点?

编辑:

我想在不使用编码的情况下将字符串转换为字节

最佳答案

Latin-1 字符编码很简单(与 Python 支持的所有其他编码不同)将 0x00-0xff 范围内的每个代码点编码为具有相同值的字节。

byteobj = '\xf0\x9f\xa4\xb1'.encode('latin-1')
你说你不想使用编码,但避免它的替代方法似乎差很多。
UTF-8 编码是不合适的,因为正如您已经发现的那样,0x7f 以上的代码点映射到多个字节(最多四个字节)的序列,其中没有一个完全是作为字节值的输入代码点。
省略对 .encode() 的参数(如现在已删除的答案)强制 Python 猜测编码,这会产生依赖于系统的行为(可能在大多数系统上选择 UTF-8,除了 Windows,它通常会选择更不可预测的东西,以及通常很多更加险恶和可怕)。

关于Python将字节字符串转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51754731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com