Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

чтение из файла [D7, XP]


Rustam ©   (2008-06-12 14:49:00) 

добрый день..у меня есть файл(допустим g.txt) с кодировкой unicode.
соответственно когда я читаю его, выходят непонятные символы..
как прочитать его должным образом?


Anatoly Podgoretsky   (2008-06-12 19:01:00) [1]

> Тын-Дын  (12.06.2008 16:55:11)  [11]

При том, вот цитата

>  f:textfile;


Тын-Дын   (2008-06-12 18:12:00) [2]


> Правильный_Вася   (12.06.08 17:11) [12]
> > Самое плохое в этом то, что символ неотображаемый. И не
> > более.однако алгоритм от этого не изменится.не бывает
> неотображаемых символовсимвол и есть отображение кодаесли
> же код невозможно отобразить, то символа нет


Ну и? Дальше-то что? Чему это мешает?


> а при том, что > f:textfile;assign(f,'g.txt');


А-а. Ну это автор неправильно читает.
Заодно поймёт, что Unicode так нельзя читать.


Тын-Дын   (2008-06-12 18:11:00) [3]


> Как ты легко всю кириллицу в неотображаемые символы слил.
> ..


С чего это ты взял? С потолка?


Плохиш   (2008-06-12 17:29:00) [4]


> Тын-Дын ©   (12.06.08 16:55) [11]
> И что? Самое плохое в этом то, что символ неотображаемый.
>  И не более.

Как ты легко всю кириллицу в неотображаемые символы слил...


Правильный_Вася   (2008-06-12 17:11:00) [5]


> Самое плохое в этом то, что символ неотображаемый. И не
> более.однако алгоритм от этого не изменится.

не бывает неотображаемых символов
символ и есть отображение кода
если же код невозможно отобразить, то символа нет

> А при чем здесь Паскаль и текстовые файлы?

а при том, что
> f: textfile;assign(f,'g.txt');


Тын-Дын   (2008-06-12 16:55:00) [6]


> не все символы юникода имеют соответствия в анси или в конкретной
> кодовой странице


И что? Самое плохое в этом то, что символ неотображаемый. И не более.
однако алгоритм от этого не изменится.


> Anatoly Podgoretsky ©   (12.06.08 16:51) [10]
> > Rustam  (12.06.2008 15:32:03)  [3]В общем случае это не
> считается текстовым файлом Паскаля.


А при чем здесь Паскаль и текстовые файлы?


Anatoly Podgoretsky   (2008-06-12 16:51:00) [7]

> Rustam  (12.06.2008 15:32:03)  [3]

В общем случае это не считается текстовым файлом Паскаля.


Правильный_Вася   (2008-06-12 16:14:00) [8]


> что ты имеешь ввиду под частными случаями, а что под общим?

не все символы юникода имеют соответствия в анси или в конкретной кодовой странице
поэтому частный случай - это когда соответствия есть


Rustam   (2008-06-12 16:03:00) [9]

спасибо, Тын-Дын ©.


Тын-Дын   (2008-06-12 15:59:00) [10]


> Правильный_Вася   (12.06.08 15:37) [4]
> >  как перекодировать юникод в анси?в общем случае никакв
> частных возможны варианты


Поясни, что ты имеешь ввиду под частными случаями, а что под общим?


Тын-Дын   (2008-06-12 15:58:00) [11]


> поставим вопрос по другому: как перекодировать юникод в
> анси?


Сразу бы и говорил, что нужно.

procedure TForm11.Button1Click(Sender: TObject);
var
 fs: TFileStream;
 ws: WideString;
 s: String;
begin
 fs := TFIleSTream.Create('c:\11.reg',fmOpenRead);
 try
   SetLength(ws,fs.Size-2);
   fs.Position := 2;
   fs.Read(ws[1],fs.Size-2);
   s := ws;
   SetLength(s,(Length(ws)) div 2);
   Memo1.Text := s;
 finally
   fs.Free;
 end;


Rustam   (2008-06-12 15:51:00) [12]

а можно привести пример частного случая?  -.-


Правильный_Вася   (2008-06-12 15:37:00) [13]


>  как перекодировать юникод в анси?

в общем случае никак
в частных возможны варианты


Rustam   (2008-06-12 15:32:00) [14]

ну блин...
var s:widestring;
   f:textfile;
assign(f,'g.txt');
read(f,s);
и в переменной s там всякие кадябры.
поставим вопрос по другому: как перекодировать юникод в анси?


Тын-Дын   (2008-06-12 15:22:00) [15]


> Rustam   (12.06.08 14:49) 


Читаешь как?


Smile   (2008-06-12 15:15:00) [16]


> когда я читаю его

Переведи (в смысле куда-то отображаешь?)


Наверх

Титульная страница Поиск, карта сайта Написать письмо