umwandlung von Text in unicode
-
als ich nur einen Buchstaben damit umwandeln könnte
Ja, du suchtest eine Möglichkeit Text in HEX zu verwandeln.
Was hast du erwartet? Eine fertige Routine die deinen String in HEX umsetzt?
Das geht nun mal Zeichen für Zeichen. Habe angenommen eine Schleife kannst du programmieren?
-
ich nutze diese Schleife um buchstabe für buchstabe umzuwandeln. nun weis ich aber nicht, wie ich buchstabe um buchstabe anzeigen kann.
int result; char Code; AnsiString Text = Edit1->Text; for (int Lv = 1; Lv <= Text.Length(); Lv++) { Code = Text[Lv]; // ASCII-Code für das Zeichen an der Stelle Lv bestimmen result = Code; AnsiString Hex = IntToHex(result,2); RichEdit2->Text = Hex; }
-
nun weis ich aber nicht, wie ich buchstabe um buchstabe anzeigen kann.
Wieso ??
hier
RichEdit2->Text = Hex;
gbit du doch den Hexwert aus. Was soll wo angezeigt werden?
Besser wäre übrigens
RichEdit2->Text += Hex;Mit deiner Methode dürftest du nur den letzten Wert sehen
-
das ist richtig.
mit deiner variante wird garnichts ausgegeben.Wenn ich folgenden Code nehme und das im RichEdit1 anzeigen lasse, klappt es.
RichEdit1->Lines->Add(RichEdit2->Text);wenn ich den gleichen nehme und es in RichEdit2 anzeigen lassen mächte, klappt es nicht.
RichEdit2->Lines->Add(RichEdit2->Text);
-
Da du nicht sagen kannst, was du erreichen willst du ich nicht hellsehen kann, kann ich nix sagen
-
Das könnte man doch etwas abkürzen
AnsiString Text; for (int Lv = 1; Lv <= Text.Length(); Lv++) { Text += IntToHex(int(Edit1->Text[Lv]),2); } RichEdit2->Lines->Add(Text);
-
Christian211 schrieb:
Da du nicht sagen kannst, was du erreichen willst du ich nicht hellsehen kann, kann ich nix sagen
Bereich 1:
Ich möchte einen Text in einem Edit-Fenster eingeben. Die Zeichen des Textes sollen in einem RichEdit-Fenster als Hex-Cope, am besten sogar als UNICODE, dargestellt werden. Bei der Ausgabe soll zwischen jedem Zeichen ein Leerzeichen stehen.Dies soll später auch noch als binär und dezimal Variante funktionieren.
Bereich 2:
In einem anderen Edit Fenster möchte ich einen Hex-code oder auch UNICODE eingeben und dieser soll mir als Text(String) also einzelnes Zeichen dargestellt werden.Das möchte ich umsetzen.
-
weis jemand Rat?
-
Habe das jetzt hin bekommen. Das Problem ist nur, dass alle codes hintereinander geschrieben werden und das es kein Unicode ist.
"Hallo ich bins!" ->>> 48 61 6C 6C 6F 20 69 63 68 20 62 69 6E 73 21
Besser wäre es, wenn es so aussieht
"Hallo ich bins!" ->>> 48 61 6C 6C 6F 20 69 63 68 20 62 69 6E 73 21
wie kann ich das am besten umsetzen
-
Und wo ist jetzt der konkrete Unterschied zwischen den beiden Zeilen?
Oder schaffst du es nur nicht, nach dem hinzufügen des Hex-Codes einfach nochmal die selbe Anweisung zu schreiben, nur diesmal mit einem Leerzeichen?
-
Wo ist bitte der Unterschied zwischen den beiden?
EDIT: Zu langsam...
-
Habe das jetzt hin bekommen. Das Problem ist nur, dass alle codes hintereinander geschrieben werden und das es kein Unicode ist.
"Hallo ich bins!" ->>> 48 61 6C 6C 6F20 69 63 68 20 62 69 6E 73 21
Besser wäre es, wenn es so aussieht
"Hallo ich bins!" ->>> 48 61 6C 6C 6F___20___69 63 68___20___62 69 6E 73 21
die Striche sollen Leerzeichen sein.
wie kann ich das am besten umsetzen
-
0x20 = 32 = Leerzeichen
Wenn du dieses Ergebnis bei der Umwandling in HEX hast vorher und nachher je 2 Leerzeichen anhängen
-
Jo, hab das hinbekommen.
"Hallo ich bins!" ->>> 48 61 6C 6C 6F___20___69 63 68___20[b]___62 69 6E 73 21
wie kann man das realisieren. hab das schon versucht, dann ist aber der ganze text fett.
RichEdit2->Font->Style = TFontStyles()<< fsBold ;
-
Vorher eine Selektion (Auswahl) durchführen. Dazu gibt es Beispiele in der Hilfe unter TRichEdit