UTF-8 Tools
UTF-8 Tools
Habe hier mal meine "gesammelten Werke" zu Unicode und UTF-8 in ein Package gelegt:
http://www.theo.ch/lazarus/utf8tools.zip" onclick="window.open(this.href);return false;
Demos sind dabei. Man muss sich aber ein bisschen mit dem Quellcode befassen.
Nur auf die Buttons klicken ist nicht so unterhaltsam.
Es gibt im Wesentlichen:
Eine Unit utf8scanner.pas: Ähnlich wie hier auch schon mal vorgestellt, aber etwas verbessert.
Eine Unit character.pas: Diese funzt ähnlich wie bei D2009. Mit der TCharacter Klasse kann man Informationen über Code Points erhalten.
Eine Unit charencstreams.pas. Dient zum Laden und Speichern von Unicode und Ansi Formaten in z.B. ein TMemo
Falls sich das jemand anschauen möchte und Fragen hat: fragen!
Das Ganze würde ich als Beta bezeichnen. Kann also noch Bugs aufweisen.
http://www.theo.ch/lazarus/utf8tools.zip" onclick="window.open(this.href);return false;
Demos sind dabei. Man muss sich aber ein bisschen mit dem Quellcode befassen.
Nur auf die Buttons klicken ist nicht so unterhaltsam.
Es gibt im Wesentlichen:
Eine Unit utf8scanner.pas: Ähnlich wie hier auch schon mal vorgestellt, aber etwas verbessert.
Eine Unit character.pas: Diese funzt ähnlich wie bei D2009. Mit der TCharacter Klasse kann man Informationen über Code Points erhalten.
Eine Unit charencstreams.pas. Dient zum Laden und Speichern von Unicode und Ansi Formaten in z.B. ein TMemo
Falls sich das jemand anschauen möchte und Fragen hat: fragen!
Das Ganze würde ich als Beta bezeichnen. Kann also noch Bugs aufweisen.
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: UTF-8 Tools
Klasse !
-Michael
-Michael
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: UTF-8 Tools
Hallo Theo,
ich bekomme bei den UTF8Tools (aktuell heruntergeladen) folgende Hinweise:
charencstreams.pas(206,21) Warning: Symbol "UTF16ToUTF8" is deprecated: "Use the function in LazUTF8 unit"
utf8scanner.pas(247,13) Warning: Symbol "UTF8CharacterToUnicode" is deprecated: "Use the function in LazUTF8 unit"
utf8scanner.pas(280,34) Warning: Symbol "UnicodeToUTF8" is deprecated: "Use the function in LazUTF8 unit"
ist dir das bekannt, kann man das langfristig ignorieren ?
Andreas (aka af0815)
ich bekomme bei den UTF8Tools (aktuell heruntergeladen) folgende Hinweise:
charencstreams.pas(206,21) Warning: Symbol "UTF16ToUTF8" is deprecated: "Use the function in LazUTF8 unit"
utf8scanner.pas(247,13) Warning: Symbol "UTF8CharacterToUnicode" is deprecated: "Use the function in LazUTF8 unit"
utf8scanner.pas(280,34) Warning: Symbol "UnicodeToUTF8" is deprecated: "Use the function in LazUTF8 unit"
ist dir das bekannt, kann man das langfristig ignorieren ?
Andreas (aka af0815)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: UTF-8 Tools
Ist im Moment eine Umleitung auf eben dies.af0815 hat geschrieben: ist dir das bekannt, kann man das langfristig ignorieren ?
Z.B: in LCLProc:
Code: Alles auswählen
function UTF16ToUTF8(const S: UTF16String): AnsiString;
begin
Result := LazUTF8.UTF16ToUTF8(S);
end;
P.S. Die Ersetzung ist auch sehr einfach. Es muss nur überall in den "uses" LCLProc durch LazUTF8 ersetzt werden.
Re: UTF-8 Tools
OK, ist erledigt.
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: UTF-8 Tools
THX Theo,
perfekt. Keine 'Warnings' mehr.
Andreas
perfekt. Keine 'Warnings' mehr.
Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 9
- Registriert: Mi 24. Jun 2015, 21:12
- OS, Lazarus, FPC: Mint Linux 17.3 | noch Win10 | L 1.4.4 | FPC 2.6.4
- CPU-Target: 64Bit
Re: UTF-8 Tools
Hallo Theo,
ich möchte unter Linux Ansi - RTF - Dateien schreiben, Ich bekomme aber nur UTF8- Dateien
Im Memo habe ich UTF8- codierten Text und benutze die Unit charencstreams
Was mache ich falsch?
Danke im Voraus
ich möchte unter Linux Ansi - RTF - Dateien schreiben, Ich bekomme aber nur UTF8- Dateien
Im Memo habe ich UTF8- codierten Text und benutze die Unit charencstreams
Code: Alles auswählen
Var
fCES: TCharEncStream;
.....
fCES := TCharEncStream.Create;
fCES.UniStreamType:=ufANSI;
fCES.UTF8Text:=memo.Text;
fCES.SaveToFile(SaveDialog1.FileName);
memo.Lines.LoadFromFile(SaveDialog1.FileName);

Danke im Voraus
Code: Alles auswählen
for i:=1 to n do
SummeUnsinn := SummeUnsinn + Unsinn[i];
Re: UTF-8 Tools
Es fehlt die gewünschte Zielkodierung.BrunoT hat geschrieben: Was mache ich falsch? :
Code: Alles auswählen
fCES := TCharEncStream.Create;
fCES.UniStreamType:=ufANSI;
fCES.ANSIEnc:='ISO-8859-1'; //<---
fCES.UTF8Text:=memo.Text;
Code: Alles auswählen
GetSupportedANSIEncodings(Memo.Lines);
-
- Beiträge: 9
- Registriert: Mi 24. Jun 2015, 21:12
- OS, Lazarus, FPC: Mint Linux 17.3 | noch Win10 | L 1.4.4 | FPC 2.6.4
- CPU-Target: 64Bit
Re: UTF-8 Tools
Danke für die schnelle Antwort
Werde ich gleich mal testen.
...
Kaum macht man es richtig, funktioniert es auch!

Werde ich gleich mal testen.
...
Kaum macht man es richtig, funktioniert es auch!
Code: Alles auswählen
for i:=1 to n do
SummeUnsinn := SummeUnsinn + Unsinn[i];