Sonderzeichen im Stringgadet

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Velindos
Beiträge: 598
Registriert: 15.11.2010 10:56

Re: Sonderzeichen im Stringgadet

Beitrag von Velindos »

Hallo Leute,

Was mir aber unklar ist, dass bei meiner Applikation als UTF-Datei beim Compilieren
ohne "Unicode Executable"
läuft und wenn ich
mit "Unicode Executable"
einstelle und Compiliere der rtf Editor/Base64 Bilderumwandlung nicht mehr funktionieren!

Weiss jemand was man da zu beachten hat?

Gruss ... Velindos
Windows 7/8/8.1/10 (32/64-Bit) |Ubuntu 10.4 (64-Bit) |Purebasic 5.71 LTS (32/64-Bit)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Sonderzeichen im Stringgadet

Beitrag von NicTheQuick »

Vermutlich arbeitest du beim Base64De- und Encoder mit Strings anstatt mit Memory. Deswegen klappt's nicht. Im Unicode-Modus verbraucht nämlich jedes Zeichen in einem String 2 Bytes und nicht nur 1 Byte. Wenn dir das Base64-kodierte Bild in deinem Quellcode nur als String vorliegt, z.B. in einer Datasection, dann musst du diesen String zuvor per 'PokeS(*buffer, #PB_Ascii)' in einen mit 'AllocateMemory()' angelegten Speicherbereich kopieren und von da aus den Bas64Decoder aufrufen.

Was deinen rtf-Editor angeht, kann ich dir allerdings gerade nicht helfen. Ist der aus einer UserLib oder eine extra Include, die du nutzt? Oder meinst du das normale EditorGadget, was ja eigentlich meines Wissens nichts anderes ist als ein RTF-Editor.
Antworten