Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi %C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln (https://www.delphipraxis.net/72393-c388c3b1c3afc3aec3ab-buchstaben-umwandeln.html)

bailey 29. Jun 2006 18:56


%C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln
 
tach an alle,

ich habe einen Dateinamem in windows-1251 codierung

Delphi-Quellcode:
%C3%88%C3%B1%C3%AF%C3%AE%C3%AB%C3%BC%C3%A7%C3%AE%C3%A2%C3%A0%C3%AD%C3%A8%C3%A5_fdisk_%C3%A2_Linux.doc
Wie kann denn in normale buchstaben umwandeln...!?

Klaus01 29. Jun 2006 19:05

Re: %C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln
 
es ist die Frage, ob diese Zeichen überhaupt in "normale" Zeichen gewandelt werden können,
denn Windows 1251 ist meines Wissens nach ein kyrillischer Zeichensatz.

Vielleicht hilft das: http://czyborra.com/charsets/cp1251.txt.gz
bzw. dies -> http://czyborra.com/charsets/codepages.html

Grüße
Klaus

bailey 29. Jun 2006 19:10

Re: %C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln
 
in normale cyrulische buchstaben, meine ich. windows sollt kein Problem damit haben denke ich..

gibt es nicht eine funktion um aus normalen string unicode strings zu machen bzw, zu bestimmen welche codierung genommen werden soll...!?

Bernhard Geyer 29. Jun 2006 21:27

Re: %C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln
 
In der Jedi (JclUnicode.pas) gibt es die Funktionen WideStringToStringEx und StringToWidestringEx um String von Unicode nach Codepage-String zu wandeln. Die Hexcodierung %xy wirst Du wohl selbst umwandeln können.

bailey 2. Jul 2006 12:13

Re: %C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln
 
Danke allen für die Antworten,

habe einfach mit StringReplace gemacht

Vorher aber eine "Tabelle" erstellt
Delphi-Quellcode:
%D0%A9  = Щ
%D0%95  = Е
%D0%A0   = Р
%D0%A2   = Т
%D0%97  = З
%D0%A3  = У
%D0%98  = И
komischerweise müsen die Replace Operationen mit Variablen typs string gemacht werden..)))

marabu 2. Jul 2006 15:46

Re: %C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln
 
Hallo.

Percent encoding kann auch mit Hilfe der Indy Komponente TIdURI decodiert werden: klick

Grüße vom marabu

Bernhard Geyer 2. Jul 2006 19:30

Re: %C3%88%C3%B1%C3%AF%C3%AE%C3%AB in buchstaben umwandeln
 
Zitat:

Zitat von bailey
Vorher aber eine "Tabelle" erstellt

Falscher Ansatz: Mittels dem Link wandelst du den String ohne Umwandlungstabelle in einen AnsiString. Anschließend rufst Du StringToWideStringEx mit der Codepage 1251 auf um für diesen Ansi-String den Korrekten Unicodestring zu bekommen


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.

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