【问题标题】:How to split String to int and bytestring literal如何将字符串拆分为 int 和 bytestring 文字
【发布时间】:2018-06-27 14:41:53
【问题描述】:

我有以下字符串:

str = "3, b'\\xf3\\xc71\\xe9\\xad_\\xce\\x8bI\\x1c\\x04Y\\xd5z\\xa2Q'"

我需要拆分它以获得两个变量,一个 int 和一个 bytestring,如下所示:

number = 3
bytestring = b'\\xf3\\xc71\\xe9\\xad_\\xce\\x8bI\\x1c\\x04Y\\xd5z\\xa2Q'

我尝试做的事情:

number, bytestring = [s for s in str.split(", ")]
int_number = int(number)
bytestring_in_bytes = bytestring.encode()

不幸的是,这不适用于字节串,我最终得到了这样的结果:

bytesring_in_bytes = b"b'\\xf3\\xc71\\xe9\\xad_\\xce\\x8bI\\x1c\\x04Y\\xd5z\\xa2Q'"

知道如何从字符串中获取字节串吗?

【问题讨论】:

    标签: django string python-3.x byte


    【解决方案1】:

    您在这里所拥有的似乎是字节串的文本表示(在 Python 中为 repr(..))。

    您可以使用ast.literal_eval(..) 将其转换为字节串:

    from ast import literal_eval
    
    bytestring_in_bytes = literal_eval(bytestring)

    请注意,如果它包含string、int 等,那么bytestring_in_bytes 的类型也将是strint 等。

    【讨论】:

      猜你喜欢
      • 2018-04-23
      • 1970-01-01
      • 1970-01-01
      • 2010-09-30
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多