Einzelnen Beitrag anzeigen

jarib

Registriert seit: 23. Aug 2007
Ort: Neumünster
7 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Unicode String nach Hex mit angabe der Codepage

  Alt 29. Jun 2011, 16:35
Delphi-Version: XE
Hallo zusammen,

für das folgendes Problem benötige ich einen kleinen Denkanstoß!

Ich möchte einen Unicode/Utf8 String welchen ich aus einer XML Datei lese in
die entsprechende Unicode Zeichennummer (hexadezimal) wandeln unter Berücksichtigung einer beliebigen Codepage.

Folgendes habe ich bereits ausprobiert aber aus einem mir unbekannten Grund kommt trotz
Wechsel der Codepage immer das gleiche Ergebnis bei mir heraus.

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  stTmp   : String;
  bbytes  : TBytes;
begin
  stTmp:= 'Zeile';
  bbytes:= TEncoding.GetEncoding(1251).GetBytes(stTmp);
end;
Ergebnis: $5A, $65, $69, $6C, $65 (90, 108, 105, 108, 101)
Ich erwarte allerdings für die Codepage 1251 (Kyrillisch): $043B, $0438, $043D, $0438, $044F

Hintergrund der ganzen Geschichte ist, dass ich die Ressourcen Datei *_DRC.rc vom Delphi Translation Manager
nachbauen möchte. Unter dem Delphi XE werden nämlich die Übersetzungen der Sprachen (ungleich Latin) in der
Stringtable der RC Datei mit der Unicode Zeichenummer in Hex hinterlegt.

Bin dankbar für jeden Hinweis!

Gruß
  Mit Zitat antworten Zitat