C-Kurs/Base64: Unterschied zwischen den Versionen
Mutax (Diskussion | Beiträge) K (hat „Ckurs2009/Base64“ nach „Ckurs/Base64“ verschoben: Aufgaben sind Kurs übergreifend nutzbar) |
|
(kein Unterschied)
|
Version vom 25. Juli 2010, 11:45 Uhr
Schreibe eine Base64 Kodierer. Er soll einen fest im Programm vorgegebenen String nach Base64 kodieren. Um zu erfahren wie Base 64 funktioniert kannst du dir die Wikipedia Seite zu Base64 ansehen. Du kannst die Vorgabe benutzen. In dieser müssen nur die 4 Funktionen encode_*_output() geschrieben werden. Ersetze jeweils das return 0. Falls du Lust hast, kannst du dir selbst überlegen wie du ein solches Programm schreiben würdest. Allerdings haben wir strings noch nicht behandelt. Frage deinen Tutor falls dir etwas unklar ist.
Die Funktion encode_first_output soll aus Byte1 Zeichen1 brechnen:
Byte1 | Byte2 | Byte3 7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0 5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0|5 4 3 2 1 0 Zeichen1 | Zeichen2 | Zeichen3 | Zeichen4
das bedeutet, dass in Zeichen1 die 6 höchsten Bits von Byte1 enthält.
Beispiel:
Byte1: 0100 0011 Byte2: 1001 0101 Byte3: 0010 0001
Zeichen1: 010000 Zeichen2: 111001 Zeichen3: 010100 Zeichen4: 100001
Du brauchst bitweise logische Verknüpfungen und Verschiebeoperatoren um zum Ziel zu kommen.
Achtung! Wir beachten den Standard nicht zu 100%. Eigentlich müsste nach 76 Zeichen ein Umbruch eingefügt werden. Wenn du Lust hast verändere das Programm, dass es sich so verhält.