Имя: Пароль:
1C
1С v8
Прочитать 2-байтовый Unicode текст
0 spectre1978
 
14.11.13
10:48
Всем привет!
Подскажите, пожалуйста. Есть текст в двухбайтовом юникоде. Есть код:

тНомера = Новый ТекстовыйДокумент;
тНомера.УстановитьТипФайла (КодировкаТекста.UTF16);    
тНомера.ИспользуемоеИмяФайла = "\\SRV-01\ALL_DOCS\Общие документы\номера.txt";
тНомера.Прочитать(тНомера.ИспользуемоеИмяФайла);

Для Сч = 1 По тНомера.КоличествоСтрок () Цикл
    Сообщить (тНомера.ПолучитьСтроку (Сч));
КонецЦикла;

Читает, но кириллицу корежит, показывает два символа вместо одного.
Что я делаю не так? Может, он вообще тип кодировки воспринимает только на запись файла, а не на чтение?
1 Зойч
 
14.11.13
10:50
ты уверен что это именно утф16?
2 spectre1978
 
14.11.13
10:52
(1) ну то что это двухбайтовый юникод - точно, потому как кириллица кодируется 2 байтами, это видно так сказать. Уж литл эндиан или биг - не знаю, но байтов два.
3 xaozai
 
14.11.13
10:53
попробуй utf-8
4 spectre1978
 
14.11.13
10:56
(3) Пробовал, не помогло. В конце концов фаровским редактором сохранил в ANSI - и тогда все получилось.
5 spectre1978
 
14.11.13
10:56
складывается такое ощущение, что восьмерка правильно читает таким методом только анси, и ей пофигу что там поставили в кодировке. Вообще-то странно это.
6 МихаилМ
 
14.11.13
11:00
(0)
укажите bom , если не указан
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший