bin, hex, dez, oct <-> ascii
This commit is contained in:
40
app/app.py
40
app/app.py
@@ -66,17 +66,32 @@ def auswahl_verarbeiten():
|
||||
elif auswahl == "ROT47":
|
||||
st.session_state.output_text = tools.rot47(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "REPLACE":
|
||||
st.session_state.output_text = tools.REPLACE(text)
|
||||
elif auswahl == "ASCII-Text->HEX":
|
||||
st.session_state.output_text = tools.ascii_to_hex(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "REPLACE":
|
||||
st.session_state.output_text = tools.REPLACE(text)
|
||||
elif auswahl == "ASCII-Text->DEZ":
|
||||
st.session_state.output_text = tools.ascii_to_dez(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "REPLACE":
|
||||
st.session_state.output_text = tools.REPLACE(text)
|
||||
elif auswahl == "ASCII-Text->Octal":
|
||||
st.session_state.output_text = tools.ascii_to_octal(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "REPLACE":
|
||||
st.session_state.output_text = tools.REPLACE(text)
|
||||
elif auswahl == "ASCII-Text->BIN (16bit)":
|
||||
st.session_state.output_text = tools.ascii_to_bin16(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "ASCII-Text->BIN (8bit)":
|
||||
st.session_state.output_text = tools.ascii_to_bin8(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "HEX->ASCII-Text":
|
||||
st.session_state.output_text = tools.hex_to_ascii(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "DEZ->ASCII-Text":
|
||||
st.session_state.output_text = tools.dez_to_ascii(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "Octal->ASCII-Text":
|
||||
st.session_state.output_text = tools.octal_to_ascii(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "BIN->ASCII-Text":
|
||||
st.session_state.output_text = tools.bin_to_ascii(text)
|
||||
st.session_state.map_data = None
|
||||
elif auswahl == "REPLACE":
|
||||
st.session_state.output_text = tools.REPLACE(text)
|
||||
@@ -133,7 +148,14 @@ option = st.sidebar.radio("hidden_label",
|
||||
"ROT13",
|
||||
"ROT18",
|
||||
"ROT47",
|
||||
"",
|
||||
"ASCII-Text->HEX",
|
||||
"ASCII-Text->DEZ",
|
||||
"ASCII-Text->Octal",
|
||||
"ASCII-Text->BIN (16bit)",
|
||||
"ASCII-Text->BIN (8bit)",
|
||||
"HEX->ASCII-Text",
|
||||
"DEZ->ASCII-Text",
|
||||
"Octal->ASCII-Text",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
||||
209
app/tools.py
209
app/tools.py
@@ -445,37 +445,26 @@ def rot47(eingabetext):
|
||||
x.append(i)
|
||||
return ''.join(x)
|
||||
|
||||
'''
|
||||
def asciitodez():
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
def ascii_to_dez(eingabetext):
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Text zu Dezimalzahlen]
|
||||
Der eingegebene Text wird in Dezimalzahlen umgewandelt. """ + "\n\n")
|
||||
return ("### Text zu Dezimalzahlen\n"
|
||||
"Der eingegebene Text wird in Dezimalzahlen umgewandelt.")
|
||||
else:
|
||||
z = []
|
||||
for i in eingabetext:
|
||||
z.append(str(ord(i)))
|
||||
Ausgabe.insert(1.0, ' '.join(z) + "\n")
|
||||
return ' '.join(z)
|
||||
|
||||
|
||||
def deztoascii():
|
||||
def dez_to_ascii(eingabetext):
|
||||
seperator = ("|,", "_", ".", "-", "/", ";", ",")
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Dezimalzahlen zu Text]
|
||||
Die eingegebenen Dezimalzahlen werden in die
|
||||
entsprechenden UNICODE-Zeichen umgewandelt.
|
||||
Als Trennungszeichen zwischen den Zahlen sind
|
||||
folgende Zeichen erlaubt: | , _ . - / ; , und
|
||||
Leerzeichen. Bei Verwendung von Leerzeichen
|
||||
sollten möglichst nur 1 Leerzeichen zwischen
|
||||
den Zahlen verwendet werden (überzählige
|
||||
Leerzeichen werden sonst als nicht erkannte
|
||||
Zeichen behandelt).""" + "\n\n")
|
||||
return ("### Dezimalzahlen zu Text\n"
|
||||
"Die eingegebenen Dezimalzahlen werden in die entsprechenden UNICODE-Zeichen umgewandelt. Als "
|
||||
"Trennungszeichen zwischen den Zahlen sind folgende Zeichen erlaubt: | , _ . - / ; , und Leerzeichen. "
|
||||
"Bei Verwendung von Leerzeichen sollten möglichst nur 1 Leerzeichen zwischen den Zahlen verwendet "
|
||||
"werden (überzählige Leerzeichen werden sonst als nicht erkannte Zeichen behandelt).")
|
||||
else:
|
||||
se = ""
|
||||
for s in seperator:
|
||||
@@ -487,11 +476,11 @@ Zeichen behandelt).""" + "\n\n")
|
||||
try:
|
||||
ausz = int(eingabetext)
|
||||
except ValueError:
|
||||
Ausgabe.insert(1.0, "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!\n",
|
||||
"re")
|
||||
return "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!"
|
||||
else:
|
||||
Ausgabe.insert(1.0, chr(ausz) + "\n")
|
||||
return chr(ausz)
|
||||
else:
|
||||
ausgabetext = ""
|
||||
txt = eingabetext.split(se)
|
||||
atxt = ""
|
||||
ignor = ""
|
||||
@@ -502,44 +491,34 @@ Zeichen behandelt).""" + "\n\n")
|
||||
ignor = ignor + str(z) + " "
|
||||
else:
|
||||
atxt = atxt + chr(az)
|
||||
Ausgabe.insert(1.0, atxt + "\n")
|
||||
Ausgabe.insert(1.0, "umgewandelte Zeichen:\n", "bu")
|
||||
if ignor != "":
|
||||
Ausgabe.insert(1.0, ignor + "\n")
|
||||
Ausgabe.insert(1.0, "Achtung nicht erkannte Zeichen:\n", "re")
|
||||
ausgabetext += "_Achtung nicht erkannte Zeichen:_ \n"
|
||||
ausgabetext += ignor + " \n"
|
||||
ausgabetext += "_umgewandelte Zeichen:_ \n"
|
||||
ausgabetext += atxt
|
||||
return ausgabetext
|
||||
|
||||
|
||||
def asciitohex():
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
def ascii_to_hex(eingabetext):
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Text zu Hexadezimalzahlen]
|
||||
Der eingegebene Text wird in Hexadezimalzahlen umgewandelt. """ + "\n\n")
|
||||
return ("### Text zu Hexadezimalzahlen\n"
|
||||
"Der eingegebene Text wird in Hexadezimalzahlen umgewandelt.")
|
||||
else:
|
||||
z = []
|
||||
for i in eingabetext:
|
||||
hexstr = ("{:X}".format(ord(i))) # großes X für Hex in Großbuchstaben
|
||||
z.append(hexstr)
|
||||
Ausgabe.insert(1.0, ' '.join(z) + "\n")
|
||||
return ' '.join(z)
|
||||
|
||||
|
||||
def hextoascii():
|
||||
def hex_to_ascii(eingabetext):
|
||||
seperator = ("|,", "_", ".", "-", "/", ";", ",")
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Hexadezimalzahlen zu Text]
|
||||
Die eingegebenen Hexadezimalzahlen werden in die
|
||||
entsprechenden UNICODE-Zeichen umgewandelt.
|
||||
Als Trennungszeichen zwischen den Zahlen sind
|
||||
folgende Zeichen erlaubt: | , _ . - / ; , und
|
||||
Leerzeichen. Bei Verwendung von Leerzeichen
|
||||
sollten möglichst nur 1 Leerzeichen zwischen
|
||||
den Zahlen verwendet werden (überzählige
|
||||
Leerzeichen werden sonst als nicht erkannte
|
||||
Zeichen behandelt).""" + "\n\n")
|
||||
return ("### Hexadezimalzahlen zu Text\n"
|
||||
"Die eingegebenen Hexadezimalzahlen werden in die entsprechenden UNICODE-Zeichen umgewandelt. "
|
||||
"Als Trennungszeichen zwischen den Zahlen sind folgende Zeichen erlaubt: | , _ . - / ; , und "
|
||||
"Leerzeichen. Bei Verwendung von Leerzeichen sollten möglichst nur 1 Leerzeichen zwischen den "
|
||||
"Zahlen verwendet werden (überzählige Leerzeichen werden sonst als nicht erkannte Zeichen behandelt).")
|
||||
else:
|
||||
se = ""
|
||||
for s in seperator:
|
||||
@@ -551,11 +530,11 @@ Zeichen behandelt).""" + "\n\n")
|
||||
try:
|
||||
ausz = int(eingabetext, 16)
|
||||
except ValueError:
|
||||
Ausgabe.insert(1.0, "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!\n",
|
||||
"re")
|
||||
return "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!"
|
||||
else:
|
||||
Ausgabe.insert(1.0, chr(ausz) + "\n")
|
||||
return chr(ausz)
|
||||
else:
|
||||
ausgabetext = ""
|
||||
txt = eingabetext.split(se)
|
||||
atxt = ""
|
||||
ignor = ""
|
||||
@@ -566,43 +545,33 @@ Zeichen behandelt).""" + "\n\n")
|
||||
ignor = ignor + str(z) + " "
|
||||
else:
|
||||
atxt = atxt + chr(az)
|
||||
Ausgabe.insert(1.0, atxt + "\n")
|
||||
Ausgabe.insert(1.0, "umgewandelte Zeichen:\n", "bu")
|
||||
if ignor != "":
|
||||
Ausgabe.insert(1.0, ignor + "\n")
|
||||
Ausgabe.insert(1.0, "Achtung nicht erkannte Zeichen:\n", "re")
|
||||
ausgabetext += "_Achtung nicht erkannte Zeichen:_ \n"
|
||||
ausgabetext += ignor + " \n"
|
||||
ausgabetext += "_umgewandelte Zeichen:_ \n"
|
||||
ausgabetext += atxt
|
||||
return ausgabetext
|
||||
|
||||
|
||||
def asciitooctal():
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
def ascii_to_octal(eingabetext):
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Text zu Octalzahlen]
|
||||
Der eingegebene Text wird in Octalzahlen umgewandelt. """ + "\n\n")
|
||||
return ("### Text zu Octalzahlen\n"
|
||||
"Der eingegebene Text wird in Octalzahlen umgewandelt.")
|
||||
else:
|
||||
z = []
|
||||
for i in eingabetext:
|
||||
z.append("{:o}".format(ord(i)))
|
||||
Ausgabe.insert(1.0, ' '.join(z) + "\n")
|
||||
return ' '.join(z)
|
||||
|
||||
|
||||
def octaltoascii():
|
||||
def octal_to_ascii(eingabetext):
|
||||
seperator = ("|,", "_", ".", "-", "/", ";", ",")
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Octalzahlen zu Text]
|
||||
Die eingegebenen Octalzahlen werden in die
|
||||
entsprechenden UNICODE-Zeichen umgewandelt.
|
||||
Als Trennungszeichen zwischen den Zahlen sind
|
||||
folgende Zeichen erlaubt: | , _ . - / ; , und
|
||||
Leerzeichen. Bei Verwendung von Leerzeichen
|
||||
sollten möglichst nur 1 Leerzeichen zwischen
|
||||
den Zahlen verwendet werden (überzählige
|
||||
Leerzeichen werden sonst als nicht erkannte
|
||||
Zeichen behandelt).""" + "\n\n")
|
||||
return ("### Octalzahlen zu Text\n"
|
||||
"Die eingegebenen Octalzahlen werden in die entsprechenden UNICODE-Zeichen umgewandelt. Als "
|
||||
"Trennungszeichen zwischen den Zahlen sind folgende Zeichen erlaubt: | , _ . - / ; , und Leerzeichen. "
|
||||
"Bei Verwendung von Leerzeichen sollten möglichst nur 1 Leerzeichen zwischen den Zahlen verwendet "
|
||||
"werden (überzählige Leerzeichen werden sonst als nicht erkannte Zeichen behandelt).")
|
||||
else:
|
||||
se = ""
|
||||
for s in seperator:
|
||||
@@ -614,11 +583,11 @@ Zeichen behandelt).""" + "\n\n")
|
||||
try:
|
||||
ausz = int(eingabetext, 8)
|
||||
except ValueError:
|
||||
Ausgabe.insert(1.0, "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!\n",
|
||||
"re")
|
||||
return "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!"
|
||||
else:
|
||||
Ausgabe.insert(1.0, chr(ausz) + "\n")
|
||||
return chr(ausz)
|
||||
else:
|
||||
ausgabetext = ""
|
||||
txt = eingabetext.split(se)
|
||||
atxt = ""
|
||||
ignor = ""
|
||||
@@ -629,66 +598,49 @@ Zeichen behandelt).""" + "\n\n")
|
||||
ignor = ignor + str(z) + " "
|
||||
else:
|
||||
atxt = atxt + chr(az)
|
||||
Ausgabe.insert(1.0, atxt + "\n")
|
||||
Ausgabe.insert(1.0, "umgewandelte Zeichen:\n", "bu")
|
||||
if ignor != "":
|
||||
Ausgabe.insert(1.0, ignor + "\n")
|
||||
Ausgabe.insert(1.0, "Achtung nicht erkannte Zeichen:\n", "re")
|
||||
ausgabetext += "_Achtung nicht erkannte Zeichen:_ \n"
|
||||
ausgabetext += ignor + " \n"
|
||||
ausgabetext += "_umgewandelte Zeichen:_ \n"
|
||||
ausgabetext += atxt
|
||||
return ausgabetext
|
||||
|
||||
|
||||
def asciitobin16():
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
def ascii_to_bin16(eingabetext):
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Text zu Binärzahlen]
|
||||
Der eingegebene Text wird in Binärzahlen mit
|
||||
einer festgelegten Breite von 16bit (16 Zeichen)
|
||||
umgewandelt. """ + "\n\n")
|
||||
return ("### Text zu Binärzahlen\n"
|
||||
"Der eingegebene Text wird in Binärzahlen mit einer festgelegten Breite von 16bit (16 Zeichen) "
|
||||
"umgewandelt.")
|
||||
else:
|
||||
z = []
|
||||
for i in eingabetext:
|
||||
z.append("{:0>16b}".format(ord(i)))
|
||||
Ausgabe.insert(1.0, ' '.join(z) + "\n")
|
||||
return ' '.join(z)
|
||||
|
||||
|
||||
def asciitobin8():
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
def ascii_to_bin8(eingabetext):
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Text zu Binärzahlen]
|
||||
Der eingegebene Text wird in Binärzahlen mit
|
||||
einer festgelegten Breite von 8bit (8 Zeichen)
|
||||
umgewandelt. """ + "\n\n")
|
||||
return ("### Text zu Binärzahlen\n"
|
||||
"Der eingegebene Text wird in Binärzahlen mit einer festgelegten Breite von 8bit (8 Zeichen) "
|
||||
"umgewandelt.")
|
||||
else:
|
||||
z = []
|
||||
for i in eingabetext:
|
||||
if ord(i) > 255:
|
||||
Ausgabe.insert(1.0,
|
||||
"Sorry der Eingabetext enthält Zeichen,\nwelche sich nicht"
|
||||
" mit 8 bit in binär darstellen lassen!\n")
|
||||
return
|
||||
return ("Sorry der Eingabetext enthält Zeichen,welche sich nicht mit 8 bit in binär darstellen "
|
||||
"lassen!")
|
||||
z.append("{:0>8b}".format(ord(i)))
|
||||
Ausgabe.insert(1.0, ' '.join(z) + "\n")
|
||||
return ' '.join(z)
|
||||
|
||||
|
||||
def bintoascii():
|
||||
def bin_to_ascii(eingabetext):
|
||||
seperator = ("|,", "_", ".", "-", "/", ";", ",")
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
eingabetext = eingabetext.rstrip()
|
||||
if eingabetext == "":
|
||||
Ausgabe.insert(1.0, """HILFE: [Binärzahlen zu Text]
|
||||
Die eingegebenen Binärzahlen werden in die
|
||||
entsprechenden UNICODE-Zeichen umgewandelt.
|
||||
Als Trennungszeichen zwischen den Zahlen sind
|
||||
folgende Zeichen erlaubt: | , _ . - / ; , und
|
||||
Leerzeichen. Bei Verwendung von Leerzeichen
|
||||
sollten möglichst nur 1 Leerzeichen zwischen
|
||||
den Zahlen verwendet werden (überzählige
|
||||
Leerzeichen werden sonst als nicht erkannte
|
||||
Zeichen behandelt).""" + "\n\n")
|
||||
return ("### Binärzahlen zu Text\n"
|
||||
"Die eingegebenen Binärzahlen werden in die entsprechenden UNICODE-Zeichen umgewandelt. Als "
|
||||
"Trennungszeichen zwischen den Zahlen sind folgende Zeichen erlaubt: | , _ . - / ; , und "
|
||||
"Leerzeichen. Bei Verwendung von Leerzeichen sollten möglichst nur 1 Leerzeichen zwischen den Zahlen "
|
||||
"verwendet werden (überzählige Leerzeichen werden sonst als nicht erkannte Zeichen behandelt).")
|
||||
else:
|
||||
se = ""
|
||||
for s in seperator:
|
||||
@@ -700,11 +652,11 @@ Zeichen behandelt).""" + "\n\n")
|
||||
try:
|
||||
ausz = int(eingabetext, 2)
|
||||
except ValueError:
|
||||
Ausgabe.insert(1.0, "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!\n",
|
||||
"re")
|
||||
return "Keine Zahl oder gültiges Trennzeichen (, ; . / - _ | oder Leerzeichen) erkannt!"
|
||||
else:
|
||||
Ausgabe.insert(1.0, chr(ausz) + "\n")
|
||||
return chr(ausz)
|
||||
else:
|
||||
ausgabetext = ""
|
||||
txt = eingabetext.split(se)
|
||||
atxt = ""
|
||||
ignor = ""
|
||||
@@ -715,13 +667,14 @@ Zeichen behandelt).""" + "\n\n")
|
||||
ignor = ignor + str(z) + " "
|
||||
else:
|
||||
atxt = atxt + chr(az)
|
||||
Ausgabe.insert(1.0, atxt + "\n")
|
||||
Ausgabe.insert(1.0, "umgewandelte Zeichen:\n", "bu")
|
||||
if ignor != "":
|
||||
Ausgabe.insert(1.0, ignor + "\n")
|
||||
Ausgabe.insert(1.0, "Achtung nicht erkannte Zeichen:\n", "re")
|
||||
|
||||
ausgabetext += "_Achtung nicht erkannte Zeichen:_ \n"
|
||||
ausgabetext += ignor + " \n"
|
||||
ausgabetext += "_umgewandelte Zeichen:_ \n"
|
||||
ausgabetext += atxt
|
||||
return ausgabetext
|
||||
|
||||
'''
|
||||
def zahlwortsuche_de():
|
||||
|
||||
eingabetext = Eingabe.get(1.0, END)
|
||||
|
||||
Reference in New Issue
Block a user