DIUnicode v6.0.0 for D7-2010, RAD Studio XE-XE5
DIUnicode v6.0.0 for D7-2010, RAD Studio XE-XE5 | 1.76 Mb
DIUnicode provides Unicode Reader and Unicode Writer classes for Delphi (Embarcadero / CodeGear / Borland). The classes implement automatic and native decoding and / or encoding of 150+ character sets when linked against DIConverters. DIUnicode's Pascal implementation features more than 70 encodings, like UTF-7, UTF-8, UTF-16, the ISO-8859 family, various Windows and Macintosh codepages, KOI8 character sets, Chinese GB18030, and more. Adding a new character coding is as simple as writing a single conversion procedure.
Key Benefits
DIUnicode is for you if your application needs to handle text with multiple character encodings with high performance and little development time. Both the Unicode Reader and the Unicode Writer work with strings, buffers, and streams. You can, for example, directly read from or write to database BLOB streams avoiding all temporary storage of your data. An efficient buffering system guarantees excellent performance, even when processing huge files.
Simple Usage Examples
DIUnicode makes reading and writing Unicode as simple as ASCII text, regardless of the character set or encoding you are processing. the code snippets below show some of the techniques usually applied with TDIUnicodeReader, the reader class of DIUnicode. Remember that you can use the parsing routine unchanged with any of the available encodings.
Read entire lines from a Unicode text file:
{ Setup and initialize. }
Reader := TDIUnicodeReader.Create(nil);
{ Let's say we want to read UTF-8.
This could well be any other
character encoding. }
Reader.ReadMethods := Read_Utf_8;
Reader.SourceStream :=
TFileStream.Create('MyFile.txt', fmOpenRead);
{ Now the actual reading: }
while Reader.ReadLine do
begin
TheLine := Reader.DataAsStrW;
{ Your code to process the line
goes here. }
end;
Reader := TDIUnicodeReader.Create(nil);
{ Let's say we want to read UTF-8.
This could well be any other
character encoding. }
Reader.ReadMethods := Read_Utf_8;
Reader.SourceStream :=
TFileStream.Create('MyFile.txt', fmOpenRead);
{ Now the actual reading: }
while Reader.ReadLine do
begin
TheLine := Reader.DataAsStrW;
{ Your code to process the line
goes here. }
end;
Read individual characters only:
while Reader.ReadChar do
begin
TheChar := Reader.Char;
case TheChar of
'A'..'Z':
; // Process Alphas
'0'..'9':
; // Process Digits
end;
end;
begin
TheChar := Reader.Char;
case TheChar of
'A'..'Z':
; // Process Alphas
'0'..'9':
; // Process Digits
end;
end;
Use overloaded methods to read up to a particular character or a set of characters:
{ Read all characters up to the Dollar sign. }
Reader.ReadCharsTill('$');
{ Read all characters up to either '(' or ')'. }
Reader.ReadCharsTill('(', ')');
{ Skip rest of line and advance to next one. }
Reader.SkipLine;
Reader.ReadCharsTill('$');
{ Read all characters up to either '(' or ')'. }
Reader.ReadCharsTill('(', ')');
{ Skip rest of line and advance to next one. }
Reader.SkipLine;
Home:
http://www.yunqa.de/delphi/doku.php/products/unicode/index
ONLY for V.I.P