function komprimieren(){
console.log("komprimieren");
let index = 0; //Variable für die Verweise
let dict = {}; //Das ist die Datenbank, zu Beginn leer
let text_komprimiert = "";
let text_unkomprimiert = document.getElementById("input_unkomprimiert").value;
let words = text_unkomprimiert.split(/\s|\n/);
words.forEach((word)=>{
//Das Wort ist bereit in der Datenbank, somit wird nur noch der Verweis hinzugefügt
if (dict[word]){
text_komprimiert += dict[word] + " ";
}
//Das Wort ist noch nicht in der Datenbank. somit wird es als Key eingefügt mit Value um 1 erhöhten Verweis
else {
dict[word] = ++index;
text_komprimiert += word + " ";
}
})
text_komprimiert = text_komprimiert.trim();
document.getElementById("input_komprimiert").value = text_komprimiert;
document.getElementById("laenge_unkomprimiert").innerHTML = "Länge = " + text_unkomprimiert.length + " Zeichen";
document.getElementById("laenge_komprimiert").innerHTML = "Länge = " + text_komprimiert.length + " Zeichen";
document.getElementById("rate").innerHTML = "Kompressionsrate = " + (100*text_komprimiert.length/text_unkomprimiert.length).toFixed(1) + " %";
}
function dekomprimieren(){
console.log("dekomprimieren");
let index = 0; //Variable für die Verweise
let dict = {}; //Das ist die Datenbank, zu Beginn leer
let text_unkomprimiert = "";
let text_komprimiert = document.getElementById("input_komprimiert").value;
let words = text_komprimiert.split(/\s|\n/);
words.forEach((word)=>{
//Das Wort ist als Verweis bereit in der Datenbank, somit wird das zum Verweis gehörende Wort hinzugefügt
if (dict[word]){
text_unkomprimiert += dict[word] + " ";
}
//Das Wort ist noch nicht in der Datenbank, der Index dient als Key
else {
dict[++index] = word;
text_unkomprimiert += word + " ";
}
})
text_unkomprimiert = text_unkomprimiert.trim();
document.getElementById("input_unkomprimiert").value = text_unkomprimiert;
}