AGB  ·  Datenschutz  ·  Impressum  







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

UTF-8 nach ASCII (die 1000ste)

Ein Thema von ernschd · begonnen am 21. Feb 2017 · letzter Beitrag vom 22. Feb 2017
Antwort Antwort
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 22. Feb 2017, 11:36
Tja für das File musst Du natürlich noch festlegen was rausgeht:
Wenn ich das ganze mit einem kleinen Testprogramm versuche, bekomme ich leider ein anderes Ergebnis (Hexadezimal DC statt 9A):

Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses System.SysUtils;

type oemString = type Ansistring(437) ;

var f: TextFile;
  ein: string;
  aus: oemString;

function StringtoOem(const Value : string) : oemString;
begin
    result := Value;
end;

begin
  AssignFile(f, 'c:\temp\kodier.txt');
(*   Festlegen der Codepage für das File.........   *)
  SetTextCodePage(f, 437);

  Rewrite(f);
  ein := 'Ü';
  aus := StringtoOem(ein);
  writeln(f, aus);
  CloseFile(f);
end.
Fritz Westermann
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 22. Feb 2017, 11:53
Habe gerade noch geschaut wie das in der System.pas tatsächlich gehandelt wird.

Wenn es Dir nur darum geht in ein Textfile mit Write und Writeln zu schreiben reicht es aus bei der Erzeugung des Files
die richtige codepage zu setzen.
Also

Delphi-Quellcode:
procedure StringtoFileTest(const Value : string) ;
 Var f : TextFile;
 begin
   AssignFile(f, 'D:\Test\test.txt');
   SetTextCodePage(f, 437);
   rewrite(f);
   writeln(f, StringtoOem(Value));
   writeln(f, Value);
   closefile(f);
 end;

StringtoFileTest('Bücher');
ergibt im erzeugten File:


Zitat:
BšCHER
BšCHER
Write und Writeln überprüfen die CodePage des Files und wandeln wenn notwendig um.
Fritz Westermann
  Mit Zitat antworten Zitat
ernschd

Registriert seit: 16. Jan 2008
165 Beiträge
 
Delphi XE8 Professional
 
#3

AW: UTF-8 nach ASCII (die 1000ste)

  Alt 22. Feb 2017, 12:11
Perfekt! Jetzt habe ich gleich zwei funktionierende Methoden für die Umwandlung!

Vielen Dank an alle!
  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 17:29 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