-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconverter.py
103 lines (79 loc) · 2.93 KB
/
converter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#this program converts from from one form to another. eg-hex to dec or ascii to bin
import sys
import base64
try:
t=sys.argv[1]
if t=="hex-dec":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(int(n,16),end=" ")
elif t=="hex-asc":#https://www.knowprogram.com/python/convert-hex-string-to-ascii-string-python/
for i in range(2,len(sys.argv)):
n=sys.argv[i]
bytes_array = bytes.fromhex(n)
ascii_str = bytes_array.decode()
print(ascii_str,end=" ")
elif t=="hex-bin":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(bin(int(n,16))[2:],end=" ")
elif t=="asc-bin":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
for j in n:
print(bin(ord(j))[2:],end=" ")
elif t=="asc-hex":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
for j in n:
print(hex(ord(j))[2:],end="")
elif t=="asc-dec":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
for j in n:
print((ord(j)),end=" ")
print("\n")
elif t=="asc-b64":
# og=b" ".join(sys.argv[2:])
og=bytes(" ".join(sys.argv[2:]),"utf-8")
# print(type(og))
encoded=base64.b64encode(og)
print(encoded)
# print(base64.b64encode(base64.b64decode(base64.b64encode(og))))
elif t=="dec-bin":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(bin(int(n))[2:],end=" ")
elif t=="dec-asc":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(chr(int(n)),end=" ")
elif t=="dec-hex":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(hex(int(n)),end=" ")
#https://www.simplifiedpython.net/python-binary-to-decimal/
elif t=="bin-asc":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(chr(int(n,2)),end="")
elif t=="bin-dec":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(int(n,2),end=" ")
elif t=="bin-hex":
for i in range(2,len(sys.argv)):
n=sys.argv[i]
print(hex(int(n,2)),end=" ")
elif t=="b64-asc":
print(base64.b64decode(" ".join(sys.argv[2:])))
else:
print("hex-dec means conversion from hexadecimal to decimal. asc-bin = ascii to binary conversion.\n all 12 combinations possible")
except Exception as ex:
print("\n")
# print("***"+str(ex)+"***")
# print(type(ex))
if type(ex)==ValueError:
print("Please Enter correct values.Argument '"+sys.argv[i]+"' is incorrect for the required conversion")
if type(ex)==IndexError:
print("Eg: python3 converter.py hex-dec ff")