Я пытался создать файл заголовка, который используется для преобразования слов в разные числовые типы (или около того) и от таких числовых типов к словам. Например, слово «привет» на числовой введите шестнадцатеричный.python: слова в восьмеричных и ascii
Я завершил работу с шестнадцатеричным и двоичным. Мне также удалось создать строку для конвертера ascii.
Это мой код:
def string_hex(string):
return ':'.join(format(ord(c), 'x') for c in string)
def hex_string(hexa):
hexgen = (hexa[i:i+2] for i in range(0, len(hexa), 2))
return ''.join(chr(eval('0x'+n)) for n in hexgen)
def string_bin(string):
return ':'.join(format(ord(c), 'b') for c in string)
def bin_string(binary):
bingen = (binary[i:i+7] for i in range(0, len(binary), 7))
return ''.join(chr(eval('0b'+n)) for n in bingen)
def string_ascii(string):
return ':'.join(str(ord(c)) for c in string)
Ну я старался как мог, чтобы преобразовать файл ASCII в строку с помощью функции chr()
. Я сделал это так:
>>> from my_convert import *
>>> string_ascii('hello')
>>> '104:101:108:108:111'
>>> a = 104101108108111
>>> chr(a)
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
chr(a)
OverflowError: Python int too large to convert to C long
Чтобы использовать for loop
и join
штуковина я не знал точно, сколько чисел было бы (я мог видеть, что есть 2 значные номера и 3 цифры номера). Поэтому я был очень смущен.
Но он не работает. И также я не имею никакой идеи преобразовать такие строки в восьмеричные или из восьмеричных в строки. Мне нужно сделать конвертер 'ascii to string', 'string to actal 'конвертер и конвертер «восьмеричный в строку». Любая помощь будет оценена.
_ «Я старался изо всех сил, чтобы преобразовать файл ascii в строку с помощью функции chr(). Но он не работает». Давайте посмотрим на этот код. – Kevin
@Kevin Это было все, что я мог сделать в интерпретаторе сам. Я пробовал заниматься серфингом в Интернете. Но ответы, которые я нашел, даже не были близки к тому, что я имел в виду. –
'import binascii; binascii.hexlify()' – Kevin