Thema: Delphi Unicode + BASE64?

Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#28

Re: Unicode + BASE64?

  Alt 25. Aug 2007, 23:15
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üsselungskern 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
Daniel Marschall
  Mit Zitat antworten Zitat