AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Algorithmen Delphi Multibyte-Text in Unicode konvertieren mit Charset

Multibyte-Text in Unicode konvertieren mit Charset

Ein Thema von xaromz · begonnen am 7. Jan 2007
Antwort Antwort
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#1

Multibyte-Text in Unicode konvertieren mit Charset

  Alt 7. Jan 2007, 16:00
Hallo,

nachdem ich fast den ganzen Tag auf MSDN verbracht habe, um herauszufinden, wie man einen Text in Unicode konvertiert, von dem nur das Charset bekannt ist, bin ich auf folgende Funktion gekommen:
Delphi-Quellcode:
function ConvertText(const Text: AnsiString; Charset: Cardinal): WideString;
var
  CharsetInfo: TCharsetInfo;
  L: Integer;
begin
  // Codepage besorgen
  TranslateCharsetInfo(Charset, CharsetInfo, TCI_SRCCHARSET);

  // Puffergröße ermitteln
  L := MultiByteToWideChar(CharsetInfo.ciACP, MB_PRECOMPOSED,
    @Text[1], Length(Text), nil, 0);

  // Puffer anlegen
  SetLength(Result, L);

  // Konvertieren
  MultiByteToWideChar(CharsetInfo.ciACP, MB_PRECOMPOSED,
    @Text[1], Length(Text), @Result[1], L);
end;
Die Routine ist insbesondere dann praktisch, wenn Dateiformate gelesen werden müssn. In meinem Fall RTF. Da werden Texte gerne über Charsets definiert.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:09 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