Как сделать Python var = '\\ x' + "FF" как 1 байт? - PullRequest
0 голосов
/ 12 июля 2019

пример кода:

hexVar = '1D' # i need this to be dynamically allocated
var1 = '\\x' + hexVar
print "var1 len: ", len(var1) # gives me 4 instead of 1

мне нужно, чтобы этот var1 составлял 1 байт при отправке в формат запроса на ассоциирование udp socks

1 Ответ

0 голосов
/ 12 июля 2019

Вы можете преобразовать текст в целое число (с основанием 16), следующее целое число в символ и кодировать символ в один байт с кодом b"\x1d"

hexVar = '1D'
integer = int(hexVar, 16)
char = chr(integer)
var1 = char.encode()
print("var1 len: ", len(var1), var1) #

Результат

var1 len:  1 b'\x1d'

РЕДАКТИРОВАТЬ:

import binascii

hexVar = '1D'
var1 = binascii.a2b_hex(hexVar)

print("var1 len: ", len(var1), var1)

или

import binascii

hexVar = '1D'
var1 = binascii.unhexlify(hexVar)

print("var1 len: ", len(var1), var1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...