Вниз
Скачать: CL | DM;

Обработка тестовых файлов в UTF-8   Найти похожие ветки 

← →
ANS   (2004-02-16 21:50) [0]

Конкретная задача. Выбрать различную информацию из нескольких текстовых файлов (UTF-8), содержащих например символы немецкого и французского языков, наряду с русским, и склеить в другой файл. Специфика задачи делает удобным построчную обработку файлов. В связи с этим вопрос - какие готовые решения есть для почтрчного чтения строк из файла с кодировкой UTF-8? Желательно бы, что-нибудь типа функций readln и writeln, но позволяющих работать с UTF-8. Заранее благодарен за помощь.


← →
ANS   (2004-02-17 05:48) [1]

Up


← →
ANS   (2004-02-17 09:40) [2]

up


← →
REA ©   (2004-02-17 09:51) [3]

Читать как обычно
D7:

{ PChar/PWideChar Unicode <-> UTF8 conversion }

// UnicodeToUTF8(3):
// UTF8ToUnicode(3):
// Scans the source data to find the null terminator, up to MaxBytes
// Dest must have MaxBytes available in Dest.
// MaxDestBytes includes the null terminator (last char in the buffer will be set to null)
// Function result includes the null terminator.

function UnicodeToUtf8(Dest: PChar; Source: PWideChar; MaxBytes: Integer): Integer; overload; deprecated;
function Utf8ToUnicode(Dest: PWideChar; Source: PChar; MaxChars: Integer): Integer; overload; deprecated;

// UnicodeToUtf8(4):
// UTF8ToUnicode(4):
// MaxDestBytes includes the null terminator (last char in the buffer will be set to null)
// Function result includes the null terminator.
// Nulls in the source data are not considered terminators - SourceChars must be accurate

function UnicodeToUtf8(Dest: PChar; MaxDestBytes: Cardinal; Source: PWideChar; SourceChars: Cardinal): Cardinal; overload;
function Utf8ToUnicode(Dest: PWideChar; MaxDestChars: Cardinal; Source: PChar; SourceBytes: Cardinal): Cardinal; overload;

{ WideString <-> UTF8 conversion }

function UTF8Encode(const WS: WideString): UTF8String;
function UTF8Decode(const S: UTF8String): WideString;

{ Ansi <-> UTF8 conversion }

function AnsiToUtf8(const S: string): UTF8String;
function Utf8ToAnsi(const S: UTF8String): string;


← →
ANS   (2004-02-17 09:57) [4]

REA.

Спасибо, но проблема не в преобразовании строк, а в считывании UTF-8 строк из файла (так что бы автоматически отдельно каждая строка считывалась), неохото долго возиться. Или единственный спосб - читать в буфер, а разбирать вручную.

Если это так, то буду очень признателей хотя бы за детальное описание формата UTF-8.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.032 c
6-94076
Yaro
2003-12-23 04:54
2004.02.29
Сетевые девайсы и их адреса...


6-94071
Alex-drob
2003-12-22 13:55
2004.02.29
Pop3


6-94052
alexEagle
2003-12-24 15:09
2004.02.29
Как узнать что сервер (TServerSocket) закрыл соединение?


1-93995
Di
2004-02-18 16:54
2004.02.29
QReport не находит свойство Extended.Duplex


3-93775
kiril-
2004-02-04 10:31
2004.02.29
UPPER в Interbase




   Наверх