AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ansi Datei in Widestring konvertieren

Ein Thema von backdraft · begonnen am 26. Mär 2009 · letzter Beitrag vom 28. Mär 2009
Antwort Antwort
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
333 Beiträge
 
Delphi 11 Alexandria
 
#1

Ansi Datei in Widestring konvertieren

  Alt 26. Mär 2009, 15:37
Hallo ich hab eine Frage, ob es sowas schon in Delphi gibt, oder ob ich es selbst programmieren muss.

Ich hab eine Datei im Ansi-Format. Die Datei enthält kyrillische Zeichen im ISO8859-5 Format.

Die Konvertierung habe ich mir besorgt und müsste ja jetzt jedes Zeichen in WideChar konvertieren

Beispiel:
0xA1 0x0401 # CYRILLIC CAPITAL LETTER IO
0xA2 0x0402 # CYRILLIC CAPITAL LETTER DJE
0xA3 0x0403 # CYRILLIC CAPITAL LETTER GJE

Da die ISO Tabellen ja feststehen, frag ich mich, ob es nicht in Delphi integriert ist, ein Ansi Zeichen nach Widestring zu konvertieren.
Ich hab nur AnsiToUTF8 gefunden, aber der weiss ja nicht, welchen ISO Code mein Ansi Zeichensatz verwendet.

Vielen Dank für eure Hilfe
Oliver
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#2

Re: Ansi Datei in Widestring konvertieren

  Alt 26. Mär 2009, 15:47
ISO-8859-5 ist kein ANSI

Umwandlung:
Delphi-Quellcode:
Var S: AnsiString;
  S2: WideString;

S := 'Dateiinhalt';

i := MultiByteToWideChar(ISO_8859_5, 8{MB_ERR_INVALID_CHARS},
  PAnsiChar(S), Length(S), nil, 0);
SetLength(S2, i);
MultiByteToWideChar(ISO_8859_5, 8{MB_ERR_INVALID_CHARS},
  PAnsiChar(S), Length(S), PWideChar(S2), i);

// S2 = Dateiinhalt in Unicode

// Codepage (falls Konstante unbekannt): ISO_8859_5 = 28595
Dateiinhalt in einen AnsiString laden, umwandeln und dann als WideString zurück in die Datei
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
backdraft

Registriert seit: 19. Apr 2005
Ort: Hückeswagen
333 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Ansi Datei in Widestring konvertieren

  Alt 26. Mär 2009, 19:49
Perfekt, klappt super,
vielen Dank

Nur die Konstante ISO_8859_5 find ich nicht. Laut Hilfe ist das 28595.
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#4

Re: Ansi Datei in Widestring konvertieren

  Alt 26. Mär 2009, 20:07
Zitat von backdraft:
Perfekt, klappt super, vielen Dank
bitte bitte

Zitat von backdraft:
Nur die Konstante ISO_8859_5 find ich nicht. Laut Hilfe ist das 28595.
OK, hab grad suchen lassen und ist wirklich nicht in Delphi drin ...
war nur vorhin irgendwie der Meinnung diese mal irgendwo in den Indys oder im XDOM gesehn zu haben ...
nja, hatte ihren Wert aber Sicherheitshalber doch noch mitgeliefert (ganz unten gut versteckt)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
27. Mär 2009, 08:23
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#6

Re: Ansi Datei in Widestring konvertieren

  Alt 28. Mär 2009, 09:19
hier noch einige andere Codepages
und für Weiteres/Genaueres siehe MSDN-Library durchsuchenMultiByteToWideChar bzw. MSDN-Library durchsuchenWideCharToMultiByte

Delphi-Quellcode:
Encoding CodePage

UTF-7 65000
UTF-8 65001
ISO-10646-UCS-2 1200 (PseudoCodepage für Unicode zu Unicode)
ISO-8859-1 28591
ISO-8859-2 28592
ISO-8859-3 28593
ISO-8859-4 28594
ISO-8859-5 28595
ISO-8859-6 28596
ISO-8859-7 28597
ISO-8859-8 28598
ISO-8859-9 28599
ISO-2022-JP 50220
EUC-JP 51932
SHIFT-JIS 932
WINDOWS-1250 1250
WINDOWS-1251 1251
WINDOWS-1252 1252
WINDOWS-1253 1253
WINDOWS-1254 1254
WINDOWS-1255 1255
WINDOWS-1256 1256
WINDOWS-1257 1257
WINDOWS-1258 1258
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:06 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