Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Unicode umwandeln (https://www.delphipraxis.net/109210-unicode-umwandeln.html)

Peter666 26. Feb 2008 09:23


Unicode umwandeln
 
Hi,

eigentlich hab ich mich immer geweigert diverse Projekte auf Unicode umzuwandeln, aber im Zuge der globalisierung steh ich nun vor dem Problem.

Gibt es eine Möglichkeit einen Unicode (Big5 Traditionelles Chinesisch) in einen normalen String mit Charset (CHINESEBIG5_CHARSET) umzuwandeln?

Was ich über den angesprochenen Dienst geliefert bekomme schaut wie folgt aus:

11Þ¡}SÊe°^X1S (C)

Des chinesischen bin ich zwar nicht mächtig, aber ich glaube auch für die Chinesen ist das unleserlich :)

Peter

mkinzler 26. Feb 2008 09:24

Re: Unicode umwandeln
 
Wäre es nicht einfacher Unicode-fähige Komponenten zu nehmen oder auf D2008 zu warten?

Peter666 26. Feb 2008 09:30

Re: Unicode umwandeln
 
Naja schön wäre es schon, aber das Projekt muss bis nächsten Monat dahingehend angepasst werden das die Tickerdaten eingelesen und leserlich ausgespuckt werden. Meine Idee ist es (weil das Projekt umzuwandeln schlichtweg innerhalb eines Jahres unmöglich ist) den Code (ist glaub ich UTF-8) in einen WideString umzuwandeln und da es eh immer Big5 Chinesisch ist dann in einen String mit dem jeweiligen Charset. So ganz missfällt mir zwar der Job, da das Projekt sicher nur von einer Firma gekauft und danach von allen anderen kopiert wird - egal mein Chef wills halt so..

mkinzler 26. Feb 2008 09:33

Re: Unicode umwandeln
 
In Unicode-Bibliotheken gibt es auch Konvertierungsfunktionen zwischen verschiedenen Codierungen

Peter666 3. Mär 2008 13:19

Re: Unicode umwandeln
 
Liste der Anhänge anzeigen (Anzahl: 1)
Sorry das ich mich jetzt nochmal melde, aber ich bin schlichtweg nicht weitergekommen.
Anbei ist mal ein Beispieltext der ungefiltert über den Ticker kommt. Wie gesagt ich habe nichts vergleichbares im Netz gefunden was mir hilft. Lediglich ein Code zum konvertieren von Big5 Text ins GBK Format:

function Big52GB(ABig5String: string): string;
{ BIG5 to GBK : BIG5 ==> Unicode ==> GBK }
var
mWString: array[0..1024] of WideChar;
cchWideChar: Integer;
mLongBool: LongBool;
begin
Result := ABig5String;
mLongBool := True;
cchWideChar := MultiByteToWideChar(950, 0, PChar(ABig5String), length(ABig5String), @mWString, 0);
MultiByteToWideChar(950, 0, PChar(ABig5String), length(ABig5String), @mWString, cchWideChar);
WideCharToMultiByte(936, 0, @mWString, cchWideChar, PChar(Result), length(Result), '?', @mLongBool);
end;

Wenn hier jemand ne Idee hat wie man die ASCII strings richtig anzeigen kann, wäre ich froh..

Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz