Я пытаюсь написать конвертер, который будет принимать любую шестнадцатеричную (байтовую) длину в текст ASCII. Этот онлайн отлично работает
https://www.rapidtables.com/convert/number/hex-to-ascii.html
Однако, когда я пытаюсь сделать:
binascii.unhexlify(data).decode('utf8')
его
дает мне ошибку: нечетная строка. или binascii.a2b_hex(data[:8])
(Найдена не шестнадцатеричная цифра)
И да, я пытался strip()
, но все равно выдает эту ошибку
import binascii
text ="""
20 74 61 73 6B 3A 20 50 6C 75 6E 67 65 72 20 67 6F 74 20 73 74 61 74 65 3A 20 33 0A 53 59 53 20 54 69 6D 65 3A 20 32 31 38 2C 20 74 61 73 6B 3A 20 4F 63 63 6C 75 73 69 6F 6E 20 67 6F 74 20 73 74 61 74 65 3A 20 33 0A 53 59 53 20 54 69 6D 65 3A 20 32 31 38 2C 20 74 61 73 6B 3A 20 43 6C 61 6D 70 20 67 6F 74 20 73 74 61 74 65 3A 20 33 0A 53 59 53 20 54 69 6D 65 3A 20 32 31 39 2C 20 74 61 73 6B 3A 20 4D 65 64 69 61 20 67 6F 74 20 73 74 61 74 65 3A 20 33 0A 53 59 53 20 54 69 6D 65 3A 20 32 31 39 2C 20 74 61 73 6B 3A 20 4D 65 64 69 61 45 6E 67 69 6E 65 20 67 6F 74 20 73 74 61 74 65 3A 20 33 0A 53 59 53 20 54 69 6D 65 3A 20 32 34 33 2C 20 74 61 73 6B 3A 20 49 6E 66 75 73 69 6F 6E 45 6E 67 69 6E 65 20 67 6F 74 20 73 74 61 74 65 3A 20 33 0A 53 59 53 20 54 69 6D 65 3A 20 32 34 36 2C 20 74 61 73 6B 3A 20 43 6F 6D 6D 61 6E 64 20 67 6F 74 20 73 74 9F 60 02 06 00 D6 94 04 00 00
"""
new = binascii.a2b_hex(text.strip())
print(new)
Итак, я попытался преобразовать его в тип char, как этот, но я не могу поместить эти коды в текст ...
import binascii
file = "secret.bin"
decoded = []
with open(file, "rb") as file:
data = file.read()
hex_list = data.split(" ")
ascii_data = [ binascii.b2a_hex(i) for i in hex_list]
print(ascii_data)