umwandeln von hex-werten
-
Wie bekomme ich eine Umwandlung von
0x0041 -> A 0x0041 -> 65(dez) 65(dez) -> A 65(dez) -> 0x0041
realisiert.
Von
A -> 0x0041 A -> 65
habe ich hinbekommen.
-
In welchem Zusammenhang benötigst du das? 0x41, 65 und 'A' werden intern alle durch die selbe Bitfolge dargestellt.
-
ich möchte unicode in zeichen und dezimal umwandeln. Was meinst du mit zusammenhang? ich kann ein zeichen in unicode(hex) und dezimal umwndeln. jetzt möchte ich unicode eingeben und das dazugehörige zeichen und dezimalzahl erhalten.
-
char X; X = 'A'; ShowMessage("CharZeichen: "+AnsiString(X)+" - ASCII-Wert: "+IntToStr(X)+" - Hex: "+IntToHex(X,2)); X = 0x41; ShowMessage("CharZeichen: "+AnsiString(X)+" - ASCII-Wert: "+IntToStr(X)+" - Hex: "+IntToHex(X,2)); X = 65; ShowMessage("CharZeichen: "+AnsiString(X)+" - ASCII-Wert: "+IntToStr(X)+" - Hex: "+IntToHex(X,2));
evtl klährt das ja dein Problem
mfg
BigNeal
-
Funktioniert irgendwie nicht. Hier ist mein Code.
if (edi_hex->Text!="") { char Code; AnsiString Text = edi_hex->Text; for (int Lv = 1; Lv <= Text.Length(); Lv++) { Code = Text[Lv]; // ASCII-Code für das Zeichen an der Stelle Lv bestimmen edi_dez->Text = IntToStr(Code); edi_wert->Text = AnsiString(Code); } }
-
tom883 schrieb:
Funktioniert irgendwie nicht.
...ist keine Fehlerbeschreibung.
-
Bei mir funktioniert der Code. Den Sinn habe ich auch schon vor ausführung verstanden. Aber IntToStr mit eine Char in der Übergabe. Wurde das Char inplizit umgewandelt ?
-
caspar_louis schrieb:
Aber IntToStr mit eine Char in der Übergabe. Wurde das Char inplizit umgewandelt ?
char ist nichts anderes als ein "8bit-integer".
StrToInt() wurde einfach genutzt um den dezimalwert des chars darzustellen.ich hoffe es war das was du meintest
mfg
BigNeal
-
[quote="BigNeal"]
caspar_louis schrieb:
StrToInt() wurde einfach genutzt um den dezimalwert des chars darzustellen.
...ES wurde aber kein StrToInt() sondern ein IntToStr() benutzt.
ShortInt -> 8 bit-Integer
Char -> vorzeichenloses 8 bit-ZeichenSoweit klar - 8 Nullen und Einsen. Auf Bit-Ebene sind verschiedene Darstellungen identisch (Hex,Okt,Dez,Ascii).
Wenn ich IntToStr() benutze wird also so getan, als wäre die Char-Variable ein Integer? Habe ich das korrekt erfaßt?
-
caspar_louis schrieb:
Wenn ich IntToStr() benutze wird also so getan, als wäre die Char-Variable ein Integer? Habe ich das korrekt erfaßt?
Ja, abgesehen von dem Verdreher, der den Meisten ständig passiert war BigNeals Antwort richtig
-
caspar_louis schrieb:
ES wurde aber kein StrToInt() sondern ein IntToStr() benutzt.
richtig mein Fehler
caspar_louis schrieb:
ShortInt -> 8 bit-Integer
Char -> vorzeichenloses 8 bit-Zeichenfalsch.. char geht von -128 bis 127.
unsigned char ist vorzeichen los 0 bis 255.mfg
BigNeal
-
Richtig ! Hab's zwar direkt der BCB Hilfe Version 6 entnommen, allerdings nicht aufgepaßt und "Tabelle der Delphi-Datentypen" erwischt.