Zum Inhalt springen

Hex => ASCII Konverter


Orbit

Empfohlene Beiträge

Hallo,

ich suche eine Möglichkeit, möglichst in Excel, Daten von Hex nach ASCII umzuwandeln. In Excel habe ich nur die Funktion für Hex => Decimal gefunden.

Eine Lösung ausserhalb Excel sollte batch-mässig funktionieren, also nicht manuell einzelne Werte eintippseln und umwandeln lassen.

Grüße

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich Dich richtig verstanden habe: Verschachtel die Formel mal mit ZEICHEN.

also so ungefähr: =zeichen(hex2dec(A1))

Probier's mal

Gruss

Jens

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Artus: Das funktioniert für ein Zeichen schon prima, danke. Kann man die Formel irgendwie modifizieren, das die Umwandlung für einen kompletten Feldinhalt durchgeführt wird?

Bsp.: Mit der Formel kann ich 74 (Hex) umwandeln in "t" (ASCII), ich kann aber nicht 74657374 (Hex) umwandeln in "test" (ASCII) .

Grüße

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Input ist variabel, zum Hintergrund:

Kunden können mittels einer Applikation u.a. einen kundenindividuellen Text

eingeben, der neben anderen Daten im HEX Format in einem Data Matrix Code abgelegt wird.

Einige Daten aus dem Data Matrix Code bekommt der Kunde zu einem späteren Zeitpunkt in einer XML bzw. csv-Datei zurückgeliefert.

Da der Kunde die individuellen Daten in der Applikation wahlfrei als ASCII oder Dec eingeben kann können die Daten vor Rücklieferung nicht standardmäßig in entweder ASCII oder Dec umgewandelt werden (später soll er mal beide Formate bekommen). Bis dahin bekommt der Kunde Hex geliefert und muß die Daten selbst in das von im ursprüngliche eingegebene Format umwandeln.

Es wäre schön, wenn man kleineren Kunden ohne grosses EDV-know how vorerst eine einfache Lösung (z.B. Excel Formel) für dir Rückumwandlung an die Hand geben könnte.

Grüße

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Letztendlich gibt's da mehrere Möglichkeiten. Hier mal 2:

1) Bau Dir unter VB eine benutzerdefinierte Formel. Splitte den Input in jeweils Zweierpaare auf, also 74657374 in 74 65 73 74 mittels einer Schleife von 1 bis Länge der Zahl durch 2 (realisierbar mit der Funktion "len" ; len(74657374) ergibt 8. Also Schleife von 1 bis (len (ZAHL)/2), also 4. Warum vier? Weil Du 4 2er Paare hast. Dann zerlegst Du die ursprüngliche Zahl mit der Funktion "mid" mit der man Teile aus Strings extrahieren kann (Übergeben werden Start und Länge der Sequenz). Vorher muss die Zahl allerdings in einen String umgewandelt werden. Dann Umwandlung der 2er Pärchen mittels voriger Lösung in den Buchstaben, und dann mit "&" zusammensetzen als neuer String.

2.) Alternativ auf einem Arbeitsblatt: Zahl in A1, in B1 =teil(text(A1);1;2) in C1=teil(text(A1);3;2) u.s.w (Der Befehl "Teil" entspricht dem Befehl "mid" in VBA)

in B2 dann =zeichen(hex2dec(wert(B1))) in C2 =zeichen(hex2dec(wert(C1))) u.s.w

dann Zusammensetzung in A3; A3=B2&C2 etc. ect.

Das Problem ist, dass Du ggf. sehr viele Spalten brauchst, da Du ja nicht die Länge Des Inputs absehen kannst.

Hoffe das hilft Dir etwas weiter...

Gruss

Jens

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Datenschutzerklärung und Registrierungsbedingungen