Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Сохранить файл в Unicode   Найти похожие ветки 

 
Ярослав   (2005-06-08 13:28) [0]

Я создаю текстовый файл и записываю в него текст, как мне сделать чтобы полученный файл был в формате Unicode?


 
PVOzerski ©   (2005-06-08 13:42) [1]

Ну, писать туда Unicode - что еще скажешь?
Например, так:
var
 s: string;
 ws: widestring;
 f: file;
begin
 s := "Вася, привет!"#13#10"Вася, пока!";
 ws := s;
 assignfile(f, "Vasya.txt");
 rewrite(f, 1);
 blockwrite(f, ws[1], length(ws) * sizeof(WideChar));
 closefile(f);
end;


 
Ярослав   (2005-06-08 14:23) [2]

Хорошо, только не совсем правильный получается файл, если его в блокноте открыть а затем сохранить то в начале файла появятся два символа с кодами FF FE и 12 04 (яю если в hex редакторе смотреть)
У меня из-за их отсутствия программа не работает, после того как в блокноте открою и сохраню, все ОК, а как бы сделать чтобы они сразу появлялись там?


 
TUser ©   (2005-06-08 14:24) [3]

Записать туда сначала эти 2 символа


 
Суслик ©   (2005-06-08 14:26) [4]


>  FF FE

они показывают порядок байтов: сначала старший потом младший или наоброт.


 
Ярослав   (2005-06-08 14:30) [5]

Ну а как мне их туда записать то


 
Ярослав   (2005-06-08 14:51) [6]

Ну никак у меня не получается...


 
PVOzerski ©   (2005-06-08 17:00) [7]

Делаешь, например, такой фокус: резервируешь в исходной AnsiString 1-й символ. Например, добавляешь в начало строки пробел (или любой другой символ - я бы только насчет #0 остерегся). После присвоения WideString"у значения используешь процедуру move для подстановки этих символов.

Вот так, например:
const
sign: array[0..1] of AnsiChar = #$FF#$FE;
var
s: string;
ws: widestring;
f: file;
begin
s := " Вася, привет!"#13#10"Вася, пока!";
ws := s;
move(sign, ws[1], 2);
assignfile(f, "Vasya.txt");
rewrite(f, 1);
blockwrite(f, ws[1], length(ws) * sizeof(WideChar));
closefile(f);
end.



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

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

Наверх




Память: 0.48 MB
Время: 0.027 c
1-1117870581
mr.Spok
2005-06-04 11:36
2005.06.29
Использование TreeView.Selected.MoveTo(...);


9-1110944584
Кенвертнуть
2005-03-16 06:43
2005.06.29
Как или чем конвертнуть модельки из Max и Maya в 3ds ?


1-1118140307
Sigetta
2005-06-07 14:31
2005.06.29
Размер exe-шника


3-1116232915
Dimedrol
2005-05-16 12:41
2005.06.29
Замена транзакций в MSSQL (part 2)


1-1117317253
kami
2005-05-29 01:54
2005.06.29
Drag&drop из программы в проводник