显然,通配符%x无法识别为字节十六进制值,因此出现错误“ValueError:无效的\ x转义”。

如何避免这种情况?我对python不熟悉。

for i in xrange(0,length):

  if i % 2 == 0:

    tempArray.append(unpack("B",payload_raw[x])[0]^key)
    x += 1

  else:

    randomByte = random.randint(65,90)
    tempArray.append(randomByte)

    for i in range(0,len(tempArray)):

      tempArray[i]="\x%x"%tempArray[i]

    for i in range(0,len(tempArray),15):

      outArray.append("\n'"+"".join(tempArray[i:i+15])+"'")
      outArray = "".join(outArray)
      devide = "i % 2;"
      open_structure = open(structure).read()
      code = open_structure % (junkA,outArray,junkB,key,length,devide)
      b.write(code)
      b.flush()

最佳答案

chr()将为您提供0到255之间的值的字节串。

>>> chr(0xd3)
'\xd3'

关于python - 在这种特殊情况下,如何避免 “ValueError: invalid\x escape”错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12199778/

10-11 02:55