Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизГлупый вопрос про String и про кодировки Найти похожие ветки
← →
Ji © (2005-09-21 00:13) [0]Если я переменную типа String запишу в текстовый файл, то она запишется в кодировке ANSI. Соответственно если буду читать файл в кодировке ANSI, то все будет ОК. (проверено экспериментально)
Может ли быть такая ситуация, что String запишется в файл в другой кодировке? Если может, то при каких условиях? Может ли это зависеть от языковых настроек windows?
← →
Anatoly Podgoretsky © (2005-09-21 00:40) [1]Никаких перекодировок при записи делаться не будет.
← →
Джо © (2005-09-21 01:14) [2]Нет никаких "кодировок" у файлов. Это абстракция.
← →
Германн © (2005-09-21 01:36) [3]2 Джо © (21.09.05 01:14) [2]
У файлов есс-но нет никаких кодировок. :) (Мухи и котлеты отдельно).
Но вот текст в них может быть записан в некоей кодировке!
А уж если это текстовый файл в понятии Windows, то ...
То бишь запись и чтение в/из файл/файла подразумевают наличие некоей "кодировки".
← →
Brother © (2005-09-21 06:56) [4]Win и Dos кодировки отличаются
Из под Delphi кажись Win кодировка.
Побалуйтесь с консольными и оконными приложениями, хотя я не знаю что касается файлов, но в консольных прилож. разницу в кодировке видно.
← →
evvcom © (2005-09-21 09:19) [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 09:47) [6]Упс.
← →
Anatoly Podgoretsky © (2005-09-21 10:12) [7]Brother © (21.09.05 06:56) [4]
Дельфи к кодировкам почти не имеет отношения, это прерогатива программиста.
← →
Ji © (2005-09-21 10:22) [8]
> [1] Anatoly Podgoretsky
Спасибо, успокоили.
> Все остальные
Имеется ввиду скорее не разница между DOS и WIN кодировками, а между русским и например китайским windows. Если у меня в программе две кнопки
WriteToFile("Моя лабуда");
ReadFromFile(S);
Так вот, я запишу в файл строку, а потом этот файл и эту прогу отправлю в китай. И они там выполнят ReadFromFile() то будет ли S = "Моя лабуда". Вот в чем был вопрос.
← →
Anatoly Podgoretsky © (2005-09-21 10:26) [9]Будет, можешь не сомневаться.
А вот Label.Caption := S уже не гарантируется, тут уже завязано на кодировки.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.106 c