|
|
переделать текст в юникод |
☑ |
|
0
Тушканчик
31.08.06
✎
18:20
|
Подскажите пожалуйста как реализовать такое дело:
1с формирует файлик в дос кодировке, как его преобразовать в юникод ?
сейчас парюсь с КомандаСистемы("dos2uni 1.txt 2.txt");
это долго... может уже есть готовые функции ?
|
|
|
1
Рупор2
31.08.06
✎
18:40
|
Есть метод КодоваяСтраница() ...
|
|
|
2
Тушканчик
31.08.06
✎
18:48
|
там только дос и виндовс
|
|
|
3
Тушканчик
31.08.06
✎
18:49
|
Параметры:
<Режим> : 0 - windows-кодировка, 1 - DOS-кодировка.
|
|
|
4
smaharbA
31.08.06
✎
18:57
|
//*******************************************
Процедура Сформировать()
Стрим = СоздатьОбъект("Adodb.Stream");
Стрим.Type = 2;
Стрим.Mode= 3;
Стрим.charset="cp866";
Стрим.Open();
Стрим.LoadFromFile("c:\dos.txt");
Стр=Стрим.ReadText();
Стрим.Close();
Стрим.Open();
Стрим.charset="utf-16";
Стрим.Writetext(Стр);
Стрим.SaveToFile("c:\unicode.txt",2);
КонецПроцедуры
|
|
|
5
Тушканчик
31.08.06
✎
19:24
|
чуть не скончалСя когда заработало
пасибо!
|
|
|
6
Тушканчик
31.08.06
✎
19:38
|
а чтобы не из файла а из обьекта брать данные и сохранять в юникод ?:)
Текст = СоздатьОбъект("Текст");
Текст.КодоваяСтраница(1);
Текст.ДобавитьСтроку(Стр1);
Текст.ДобавитьСтроку(Стр2);
|
|
|
7
smaharbA
31.08.06
✎
19:42
|
а зачем так ? может проще сразу из стр1, стр2... ?
|
|
|
8
Тушканчик
31.08.06
✎
19:42
|
да можно в принципе я не против )
|
|
|
9
Тушканчик
31.08.06
✎
19:43
|
но в результате всерано должен получиться файл
|
|
|
10
smaharbA
31.08.06
✎
19:46
|
//*******************************************
Процедура Сформировать()
Стрим = СоздатьОбъект("Adodb.Stream");
Стрим.Type = 2;
Стрим.Mode= 3;
Стрим.charset="utf-16";
Стрим.Open();
Стр="Какаято строка";
Стрим.Writetext(Стр);
Стрим.SaveToFile("c:\unicode.txt",2);
КонецПроцедуры
|
|
|
11
Тушканчик
31.08.06
✎
19:49
|
олично!
но у меня стр1 и стр2
как между ними перевод строки постаивть ?
|
|
|
12
smaharbA
31.08.06
✎
19:52
|
(11) РазделительСтрок
|
|
|
13
Звездочёт
02.09.06
✎
12:00
|
(10) если просто записать текст в Unicode можно и так ;)
var fso = new ActiveXObject('Scripting.FileSystemObject');
var ts = fso.OpenTextFile('C:\\unicode.txt', 2, true, -1);
ts.WriteLine('Строка по-русски');
ts.Close();
|
|
|
14
Тушканчик
07.09.06
✎
17:19
|
Интересно а можно ли текст записать БЕЗ первых 2 байт юникода FEFF (уж очень они мешают создавая какойто значек типа пробела)
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший