Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.035 c
3-1125483316
Alex Kryuchkov
2005-08-31 14:15
2005.10.16
"Мусор" в полях типа text на БД Sybase


1-1127666600
rusteam
2005-09-25 20:43
2005.10.16
прорисовать bmp в StringGrid в строго определенном месте


3-1124981162
<Lelik>
2005-08-25 18:46
2005.10.16
Lock conflict on no wait


2-1126967706
ceval
2005-09-17 18:35
2005.10.16
Как лутче сделать ?


1-1126647870
saNat
2005-09-14 01:44
2005.10.16
Сообщение ОС при обращении к недоступному диску





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский