Я пытаюсь написать сценарий в Python (2.7), который сэкономит мне некоторое время и преобразует Ascii в Dec и hex и наоборот, но при вводе специального символа (например: ') в качестве входных данных, кажется, что он не признает его буквой Ascii («isAscii» возвращает «False»). Я не мог найти правильное решение (я думал о регулярном выражении, но я не уверен), и мне было интересно, может ли кто-нибудь предложить мне какое-то направление?Устранение неполадок некоторых специальных символов из Ascii в Python
мой код:
import struct
import string
import re
def isAscii(s):
for c in s:
if c not in string.ascii_letters:
return False
return True
is_hex = re.compile(
r'^[+\-]?'
'0'
'[xX]'
'(0|'
'([1-9A-Fa-f][0-9A-Fa-f]*))$'
).match
End='0'
while (End!='1'):
print("Please enter your input:")
num = raw_input()
num = num.split(',')
for i in range (0,len(num)):
if isAscii(num[i]):
print("Decimal: %d, Hex: %s") %(ord(str(num[i])) ,hex(ord(str(num[i]))))
elif is_hex(num[i]):
print("Decimal: %d, Chr: %s") %(ord((chr(int(num[i], 16)))) ,(chr(int(num[i], 16))))
else:
print("Hex: %s, Chr: %s") % (hex(int(num[i])) ,(chr(int(num[i]))))
print("Press any key to continue OR Press 1 to exit")
End = raw_input()
Спасибо большое!
_ «кажется, что оно не признает его как букву Асьи». Имеет смысл для меня. Апостроф - это не письмо. – Kevin