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

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

Глупый вопрос про String и про кодировки [D6, WinXP]


Ji ©   (2005-09-21 00:13:00) 

Если я переменную типа String запишу в текстовый файл, то она запишется в кодировке ANSI. Соответственно если буду читать файл в кодировке ANSI, то все будет ОК. (проверено экспериментально)

Может ли быть такая ситуация, что String запишется в файл в другой кодировке? Если может, то при каких условиях? Может ли это зависеть от языковых настроек windows?


Anatoly Podgoretsky   (2005-09-21 10:26:00) [1]

Будет, можешь не сомневаться.
А вот Label.Caption := S уже не гарантируется, тут уже завязано на кодировки.


Ji   (2005-09-21 10:22:00) [2]


> [1] Anatoly Podgoretsky

Спасибо, успокоили.


> Все остальные

Имеется ввиду скорее не разница между DOS и WIN кодировками, а между русским и например китайским windows. Если у меня в программе две кнопки
WriteToFile('Моя лабуда');
ReadFromFile(S);
Так вот, я запишу в файл строку, а потом этот файл и эту прогу отправлю в китай. И они там выполнят ReadFromFile() то будет ли S = 'Моя лабуда'. Вот в чем был вопрос.


Anatoly Podgoretsky   (2005-09-21 10:12:00) [3]

Brother ©   (21.09.05 06:56) [4]
Дельфи к кодировкам почти не имеет отношения, это прерогатива программиста.


Brother   (2005-09-21 09:47:00) [4]

Упс.


evvcom   (2005-09-21 09:19:00) [5]

если ты пишешь str:='Моя лабуда'; то в файл запишутся коды:
CC EE FF 20 EB E0 E1 F3 E4 E0
Открывая этот файл блокнотом ты увидишь текст 'Моя лабуда'. Естественно из под ДОСа увидишь "иероглифы".
Если же хочешь получить файл в ДОС (OEM) кодировке, можешь написать
 str:='Моя лабуда';
 CharToOem(PChar(str), PChar(str));
или так:
 str:=#$8C#$AE#$EF#$20#$AB#$A0#$A1#$E3#$A4#$A0;
тогда файл будет нормально выглядеть "из под ДОСа"

> Из под Delphi кажись Win кодировка.

Delphi тут совсем не при чем.


Brother   (2005-09-21 06:56:00) [6]

Win и Dos кодировки отличаются
Из под Delphi кажись Win кодировка.
Побалуйтесь с консольными и оконными приложениями, хотя я не знаю что касается файлов, но в консольных прилож. разницу в кодировке видно.


Германн   (2005-09-21 01:36:00) [7]

2 Джо ©   (21.09.05 01:14) [2]
У файлов есс-нонет никаких кодировок. :) (Мухи и котлеты отдельно).

Но вот текст в них может быть записан в некоей кодировке!
А уж если это текстовый файл в понятии Windows, то ...

То бишь записьи чтениев/из файл/файла подразумевают наличие некоей "кодировки".


Джо   (2005-09-21 01:14:00) [8]

Нет никаких "кодировок" у файлов. Это абстракция.


Anatoly Podgoretsky   (2005-09-21 00:40:00) [9]

Никаких перекодировок при записи делаться не будет.


Наверх

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