![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
вопрос такой: файл должен быть в кодировке ascii 8 bits windows cyrillic (так мне ответил представитель компании acapela. открывать словарь в этой кодировке)
как мне правильно сохранить файл в этой кодировке? у меня сохранение делается так: StringList.SaveToFile(ExtractFilePath(Application. ExeName)+'\user.userdico'); Это он в какой кодировке сохраняет? Как сделать нужное мне сохранение, подробно подскажите кодом, пожалуйста, если возможно! Последний раз редактировалось sorockinalex, 01.12.2012 в 22:21. |
|
#2
|
|||
|
|||
|
нашёл в интернете статью про ASCII 8 bit...
Цитата:
Таким образом мой вопрос сводится к тому, как сохранить в файл в кодировке ISO 8859-5 ???? |
|
#3
|
||||
|
||||
|
BOM фигнатуру в начале файла пропиши. Посмотри что блокнот пишет.
|
|
#4
|
|||
|
|||
|
Извини, не понимаю что ты сказал, кроме "в начале файла пропиши. Посмотри что блокнот пишет..."
Можешь пояснить??? нашёл процедуру в нете по перекодированию http://www.delphisources.ru/pages/faq/base/recode.html , переделал в функцию, но как-то неправильно она работает почему-то Код:
function ChangeEncoding(s:String):string;
var
c: char;
i: integer;
chars: array [char] of char;
StrWin, StrIso: string;
begin
StrWin := 'АаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя';
StrIso := 'РрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяа?б?в?г?д?е?ж?з?и?йsк?лzм?н§о?пY';
for c := #0 to #255 do
Chars[c] := c;
for i := 1 to Length(StrWin) do
Chars[StrIso[i]] := StrWin[i];
for i := 1 to Length(s) do
s[i] := Chars[s[i]];
Result := s;
end;во-первых при копипастинге из браузера в делфи теряется часть символов исошной кодировки... заменяются на вопросы... перекодировалось правильно, открываю Notepad++ в кодировке ISO , но латинские символы какие-то странные Последний раз редактировалось sorockinalex, 01.12.2012 в 23:41. |
|
#5
|
|||
|
|||
|
и вот тут непонятен алгоритм работы программы:
Код:
for i := 1 to Length(StrWin) do
Chars[StrIso[i]] := StrWin[i];почему массиву символов присваивается символ из строки символов винды? |
|
#6
|
|||
|
|||
|
понял почему неправильно работает - при копипастинге конвертируются символы в символы латинского алфавита и потом заменяются...
как в браузера в делфи вставить правильно? не понял ваще... |
|
#7
|
|||
|
|||
|
Цитата:
|
|
#8
|
|||
|
|||
|
блин, замудохался я с этой фигнёй. вопрос копеечный, сижу уже целый день, читаю везде... зае...ся... помогите!
вот файл http://zalil.ru/34023082 нужно получить такой-же, в той же кодировке. как это сделать? строки хранятся в StringList.... |
|
#9
|
|||
|
|||
|
Цитата:
Версия Delphi видимо > 2009, т.е. юникодная? Думаю, вот эта статья может помочь: http://mzemaitis.wordpress.com/2011/...ode-text-file/ Там наоборот, нужно в юникоде, но если как следует подумать, то написать в обратную сторону, думаю, не сложно. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
sorockinalex (02.12.2012)
| ||