Hallo.
UTF8Decode() und UTF8Encode() haben nur Schrott ausgegeben.
EDIT: Außerdem sind diese Funktionen von der Codepage abhängig. Ich will ja den String nicht verwenden, um ihn anzeigen zu lassen, sondern ihn nur als Container verwenden, der die Inhalte des WideStrings besitzt. Er ist doppelt so groß und kann #0 enthalten, was aber
DEC egal ist.
Zitat von
Bernhard Geyer:
Hast du überhaupt meinen letzten Post gelesen wie du die
DEC-Methode mit Widestrings aufrufen könntest?
Doch und ich bin auch drauf eingegangen. Kodieren kann sein, dass es funktioniert, aber das Gegenstück funktioniert eben nicht, weil der Entschlüsselungs
kern der hochkomplizierten
DEC Library nur strings als Eingabe versteht. Ich habe alleine da 3 Stunden mit verbracht, alles mögliche durchzuprobieren und bin zu keinem Ergebnis gekommen.
Das mit dem Einlesen der
Unicode-Datei dient nur als Beispiel, damit ich einen japanischen Vorlagetext habe, mit dem ich testen kann. Ich brauche keine
VCL, um einen WideString von einem Stream einzulesen.
Zitat von
Bernhard Geyer:
Nein, das geht nicht ohne die schon diskutierten Auswirkungen!!!!!!
DEC hat bei Strings mit enthaltenen #0 keine Probleme gemacht. Wieso soll ich dann keine WideString-Umwandlung machen können?
Tut mir leid, dass ich mich hier so wenig auskenne. Aber es muss doch möglich sein, dass man einen WideString verschlüsselt. Man kann doch nicht die ganze
DEC umschreiben, weil die Kernfunktionen nur strings annehmen.
Versteht ihr die Grundproblematik nicht?
WideString mit 10 Zeichen á 2 Bytes -> Char-Array -> String mit 20 Zeichen -> Verschlüsselter Text (keine Probleme mit #0!!!)
Verschlüsselter Text (keine Probleme mit #0!!!) -> String mit 20 Zeichen -> Char-Array -> WideString mit 10 Zeichen á 2 Bytes
Was soll daran unmöglich sein, 20 Bytes Widestring in 20 Bytes String umzuwandeln? Ob ein #0 in der Mitte vorkommt, ist dem
DEC, das binäre Daten akzeptiert, egal.
Ich kann als Hobbyprogrammierer nur die Dinge, die ich mir selbst angeeignet habe. Also wäre ich dankbar, wenn ich Code anstatt von großen Sprüchen oder Fachbegriffen bekommen würde. Die helfen mir nichts. Es kann nicht sein, dass man 20 Bytes nicht in 20 Bytes umwandeln kann!!! Im Arbeitsspeicher sehen diese 20 Bytes alle gleich aus, egal ob sie als WideString oder als String interpretiert werden!
Gruß
blackdrake