代码之家  ›  专栏  ›  技术社区  ›  quanyechavs huo

如何在python3中不使用任何编码语法从字符串变量获取字节格式

  •  -2
  • quanyechavs huo  · 技术社区  · 8 年前

    s1='a\xff'

    我想得到 b'a\xff' 来自s1,但s1是一个变量,不是纯已知字符串,我如何才能得到 b'a\xff' 作为python3的结果? 我试过这个:

    b'%s' % s1
    

    但是获取类型错误,然后我尝试使用 encode 在此代码中 s1.encode() ,但结果是 b'a\xc3\xbf' (coz python3使用默认编码“utf8”),但不是 b'a\xff' .

    1 回复  |  直到 6 年前
        1
  •  0
  •   quanyechavs huo    8 年前
    In [149]: s1='a\xff'
    
    In [151]: s3=b"".join([b'%c' % ord(each) for each in s1])
    
    In [152]: s3==b'a\xff'
    Out[152]: True
    

    %s 用于 string 类型变量, 一串 类型的范围是-128到128,但\xff是256(超出 一串 范围), refer