#python #python-3.x #hex
#python #python-3.x #шестнадцатеричный
Вопрос:
Я искал повсюду, чтобы найти решение, но ни одно из них не сработало. Вот код, над которым я работал на python 3.
IPFS = open("Q.txt",)
Q = IPFS.read()
print(Q)
IPFS.close()
encoded = bytearray.fromhex(Q).decode()
print(encoded)
Q.txt файл содержит в себе эту строку.
51
Если вы знаете, что меня смущает, я был бы очень признателен, если бы вы сказали мне! : D
Комментарии:
1. что вам
print(repr(Q))
дает?
Ответ №1:
Работает нормально для меня с Python 3.9, я получаю следующий вывод :
51
Q
Вы уверены, что в вашем файле нет чего-то еще, или я не знаю… Попробуйте Ctrl A и удалите все, а затем перепишите свой 51
Ответ №2:
У меня тоже хорошо работает на Python 3.8.5. Я предполагаю, что у вас есть новая строка после 1. Поведение изменилось в версии 3.7 в соответствии с документами:
classmethod fromhex(строка) Этот метод класса bytearray возвращает объект bytearray, декодируя данный объект string . Строка должна содержать две шестнадцатеричные цифры на байт, при этом пробелы ASCII игнорируются.
Изменено в версии 3.7: bytearray.fromhex() теперь пропускает все пробелы ASCII в строке, а не только пробелы.