Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: 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 вся ветка

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
7-94207
Aleksey
2003-12-12 06:20
2004.02.29
Shell в


14-94122
Ru
2004-02-06 10:41
2004.02.29
Тут жаловались на заоблачные цены от M$


1-93839
uu
2004-02-16 18:49
2004.02.29
Задержка при завершении программы


14-94182
Кен
2004-02-05 04:06
2004.02.29
LindowsOS можно скачать бесплатно через Р2Р-сети


4-94247
DelphiN!
2003-12-20 22:08
2004.02.29
Как получить caption-ы всех дочерних элементов текущего окна?