Text in Hexcode umwandeln?

ArcticFrezzer

Cadet 4th Year
Registriert
Feb. 2011
Beiträge
108
Servus!

Ich bin gerade in der Ausbildung zum Fachinformatiker jetzt haben wir heute beim Programmieren festgestellt "Ups unser Dozent hat uns gar nicht beigebracht wie man Buchstaben/Texte in Hexcode umwandelt".

Wie kann ich den Buchstaben um Hex umwandeln? Ich weiß nur soviel das ich die Buchstaben zuerst in nen ASCII Code umwandeln muss aber das wurde mir auch nicht beigebracht.

Kann mir das jmd bitte erklären wie ich normale Buchstaben zuerst in ASCII und dann weiter in Hex umwandle?

LG
Arctic

PS Sollte dass das falsche Unterforum sein tut es mir leid aber ich wusste nicht wo hin ich das sonst hauen sollte und ein bereits vorhandenes Thema dazu habe ich nicht gefunden.
 
Hexadezimal ist nicht so schwierig. Ist deine Frage nun, wie man das technisch machen kann, oder wie es theoretisch geht?

Für ersteres suchst du dir einfach einen beliebigen Hexeditor und öffnest eine txt-Datei mit ihm.

Letzteres kann man sich in wenigen Minuten z.B. auf wikipedia anlesen: http://en.wikipedia.org/wiki/Hexadecimal
 
ASCII Code ist ne Codetabelle, da würde ich je nach Programmiersprache (java, c++, c#...) schauen obs nicht schon ne funktion gibt die dir den ASCII Wert liefert wenn du den Char angibst.
Danach eine DezToHex funktion finden oder schreiben ist das kleinste Problem.

Die Frage ist also nur: in welcher Sprache schreibst du?
 
Text zu ASCII: Nimm dir eine ASCII Table, der Rest erklärt sich von selbst ;)

Damit hast du dann Dezimalzahlen welche du mit hilfe von Wikipedia in Hex umwandeln kannst.

Das ist die theoretische Variante ;) Je nach programmiersprache gibt es da Funktionen für.
 
Hallo,
mal langsam mit den jungen Pferden, du verwechselst da glaube ich nen wenig:

Ascii ist eine Zeichencodierung, die seinerseits je ein Zeichen zu einem Byte abbildet. Wie die Zuordnung ist, kannst du einer Ascii-Tabelle entnehmen.

Grundsätzlich ist das Verfahren aber sehr simpel:
Du ließt ein ascii Zeichen oder einen Satz von ascii Zeichen ein und wertest dann den Wert des Zeichens als Byte aus - und umgekehrt.
 
Wir sollen es halt per Hand (sprich durch Rechnen) umwandeln ohne Hexeditor.
Das hatten wir mit Dezimalzahlen und Hex gehabt aber mehr schon auch nicht.

Ich muss halt nur wissen wie ich zB das Wort/Namen Hans in Hex umwandle
 
Mein Beitrag gibt dir dafür alle Werkzeuge an die Hand. Einfach mal selbst nen bisserl lesen und nachdenken, dann ist das echt einfach ;)
 
Hier kanns du Zahlen eingeben, und anhand dieser zahlen , erstellt er dir ein Beispiel.
 
Wie gesagt:
Du schaust dir den String Zeichen für Zeichen an und setzt nach der

ASCII TABELLE

die Werte ein.

[Das muss auch nicht in Hex sein, das ist schließlich nur eine Zahl...]

*Edit: Geiler Thread, alle antworten hier parallel...
 
@Klueze
Also wenn in jetz "Hans" schreiben wöllte in Hex müsste ich 48 61 6E 73 schreiben? Hab ich das so richtig aus der Tabelle rausgelesen?
 
Hast du. Ist mir vorher garnicht aufgefallen das meine Tabelle gleich den Hex mitliefert. Aber optimal ;)

Wenn du per Hand von Dec zu Hex musst, nimmste dir den Wikipedia Artikel vor. Aber du sagtest ja das ihr das schon hattet.

Sagte ich doch: Einfach.
 
Jo von Dez zu Hex hatten wir schon dazu muss ich nur mal in die Unterlagen kucken :)

Supi dann hat sich das schon erledigt :D DANKESCHÖN!
 
ansonsten für die ganz faulen...
hatte mal nen windows sidebargadget gemacht, BIN/DEZ/HEX/OCT umrechner, da es einfach keines gab.
noch fehlt ne ASCII umrechnung. kommt aber vielleicht mal :)
 

Anhänge

Zuletzt bearbeitet:
1. Schritt: Umwandeln der Zeichenkette in ein byte-Array, dabei muss eine Kodierung gewählt werden, denn neben ASCII gibt es noch sehr viele andere, z.B. UTF-8. Wenn dein Lehrer keine Zeichenkodierung vorgegeben hat, dann ist die Aufgabe unvollständig.

2. Schritt: Das Byte-Array iterieren und byte für byte in ein Hexzeichen umwandeln und in eine neue Zeichenkette umwandeln.


Schritt eins ist zumindest mit Java überhaupt kein Problem:

Code:
String meinString = "Hans";
byte[] kodierteZeichenkette = meinString.getBytes("UTF-8");
 
Zurück
Oben