Skip to content

Commit a234b1d

Browse files
committed
Update Funktion convertBinaryToUnicode um nur Sequenzen von 8 oder 16 Bits zu interpretieren, je nachdem, ob das entsprechende Zeichen 8 oder 16 Bit lang ist.
1 parent 8bd24e5 commit a234b1d

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

Coding Puzzle/main.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,19 @@ function convertBinaryToAscii(binaryString) {
3131
function convertBinaryToUnicode(binaryString) {
3232
let unicodeString = '';
3333
// Schleife durch die Binärzeichenkette
34-
for (let i = 0; i < binaryString.length; i += 16) {
35-
// Teile die Binärzeichenkette in 16-Bit-Chunks auf
36-
const chunk = binaryString.substr(i, 16);
37-
// Wandele jeden 16-Bit-Chunk in Unicode-Code um
38-
const charCode = parseInt(chunk, 2);
39-
// Konvertiere Unicode-Code in Zeichen und füge es zur Ausgabezeichenkette hinzu
40-
unicodeString += String.fromCharCode(charCode);
34+
for (let i = 0; i < binaryString.length; i += 8) {
35+
// Wenn das nächste Zeichen ein 16-Bit-Zeichen ist, verarbeite es als solches
36+
if (binaryString.charAt(i) === '1' && binaryString.charAt(i+1) === '0') {
37+
const chunk = binaryString.substr(i, 16);
38+
const charCode = parseInt(chunk, 2);
39+
unicodeString += String.fromCharCode(charCode);
40+
i += 8; // überspringe das zweite Byte des 16-Bit-Zeichens
41+
} else {
42+
// sonst verarbeite das Zeichen als 8-Bit-Zeichen
43+
const chunk = binaryString.substr(i, 8);
44+
const charCode = parseInt(chunk, 2);
45+
unicodeString += String.fromCharCode(charCode);
46+
}
4147
}
4248
return unicodeString;
4349
}

0 commit comments

Comments
 (0)