Wie kann ich den Binärcode lernen?
Ich wollte anfangen zu Lernen wie man den Binärcode übersetzt und alles...nur versteh ich da etwas noch nicht so ganz
1. Wie ist das mit den Leerzeichen etc. (also mach jedem Satz oder jedem Buchstaben oder Zahl)?
Und
2. Haben Buchstaben eine eigene Umwandlung oder wird das irgendwie mit den Zahlen verbunden, sprich: A=1=1...J=10=1010
3 Antworten
Warum will man sowas?
Buchstaben werden mit einer Ascii-Tabelle übersetzt genauso wie Zahlen auch.
Leerzeichen ist ASCII 32, schau dir eine ASCII-Tabelle an (einfach nach ASCII-Tabelle suchen)
Siehe dort: http://www.computer-masters.de/ascii-tabelle.php
Hilfreich ist auch Tante W. aus den USA: https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange
Das ist aber ein durchaus spezieller Code, der aus der Zeit der Fernschreiber stammt und bis heute seine Gültigkeit nicht verloren hat. Aber es ist nur eine von vielen Möglichkeiten, Daten binär zu kodieren.
Danke. Und das mit B=2=10 (also, weil B der 2. Buchstabe im Alphabet ist und 2 im Binärcode 10 ist) ist eigentlich Schwachsinn oder?
Ich würde empfehlen erst mal die Umwandlung zwischen Hex und Binär zu lernen. Dann kannst du nämlich hinterher mit Hilfe eines Hexeditors (z.B. HxD) sehr leicht den Binärcode von Dateien ansehen und verändern.
Zwischen Binär und Hexadezimal umzuwandeln ist übrigens deutlich einfacher als zwischen Dezimal und Binär. Da es bei hexadezimalen Zahlen genau 16 verschiedene Ziffern gibt und 16 gleich 2 hoch 4 ist, entspricht jede Hex-Ziffer immer exakt 4 binären Ziffern. Man muss also im Grunde nur 16 verschiedene 4 stellige Binärzahlen auswendig lernen und kann dann blitzschnell zwischen Hex und Binär hin und zurück übersetzen.
Was für ein Code soll das sein?
Binär-Code bedeutet, dass (bei normalem zeichensatz) die Buchstaben entsprechenden Zahlenwerten entsprechen. Das "A" hat den Dezimalwert 65, und im Binärcode entspricht das 01000001. Das @-Zeichen ist bei 64, also 01000000. Die Zahl "0" liegt bei 48, also 00110000 im Binärformat.
ASCII-Tablle findet man z.B. unter http://www.tcp-ip-info.de/tcp_ip_und_internet/ascii.htm
Der Binärcode ist hier 8 Bit lang, so dass zahlen von 0 bis 255 reproduziert werden können (128+64+32+16+8+4+2+1). Eine Dezimalzahl aus dem Binärcode wandelt man in eine Dezimalzahl um, in dem man dort, wo eine 1 steht, die mit dem Wert multipliziert (also mit der 1,2,4,8,16,32,64 oder 128).
Also 10100001 entspricht 1+32+128 = 161
Eine Dezimalzahl wandelt man in eine Binärzahl um, in dem man schaut
ist sie größer 128? -> Ja: Zahl um 128 verringern, Bit 8 = 1 Nein: Bit 8=0
ist sie größer 64 -> Ja: Zahl um 64 verringer, Bit 7 = 1 Nein: Bit 7 = 0
...
usw.
Das meinte ich ja. Kenne mich damit noch nicht so gut aus, weil ich es nur so nebenher selber lerne. Wie ist das denn jetzt mit den Leerzeichen und alles? Eine Antwort wäre nett.