|
Прочитать файл в koi8-r кодировке | ☑ | ||
---|---|---|---|---|
0
woland
29.10.14
✎
14:04
|
Подскажет пожалуйста как прочитать такой файл. Пытаюсь перекодировать текст. Но не получается. ЧТЯДНТ?
НоваяСтрока = НоваяСтрока+Перекодировка(ПодстрокаСабжект,"utf-8"); Функция Перекодировка(Стр="",Кодировка="windows-1251") Стрим = Новый COMОбъект("Adodb.Stream"); Стрим.Type = 2; Стрим.Mode= 3; Стрим.charset="koi8-r"; Стрим.Open(); Стрим.WriteText(Стр); Стрим.Position=0; Стрим.charset=Кодировка; Рез=Стрим.ReadText(-1); Стрим.Close(); Возврат Рез; КонецФункции |
|||
1
woland
29.10.14
✎
14:06
|
Исходная строка
=?koi8-r?B?88/HzMHTz9fBzsnFIOnw/CBbaWQ9ZmNlMDNmMWQtNWU4ZC0xMWU0LWE4YTQt?= =?koi8-r?B?MDA1MDU2YjkwZmUwXTwwPg==?= |
|||
2
Галахад
гуру
29.10.14
✎
14:08
|
Записать, наверное надо.
|
|||
3
woland
29.10.14
✎
14:13
|
Так тоже не работает
Функция Перекодировка(Стр="",Кодировка="windows-1251") Стрим = Новый COMОбъект("Adodb.Stream"); Стрим.Type = 2; Стрим.Mode= 3; Стрим.charset="koi8-r"; Стрим.Open(); Стрим.WriteText(Стр); Стрим.Position=0; Стрим.charset=Кодировка; ИмяФайла = ПолучитьИмяВременногоФайла("txt"); Стрим.SaveToFile(ИмяФайла,2); Текст = Новый ЧтениеТекста(ИмяФайла,КодировкаТекста.Системная); СтрокаТекста = Текст.Прочитать(); //Рез=Стрим.ReadText(-1); Стрим.Close(); Возврат СтрокаТекста; КонецФункции |
|||
4
Garikk
29.10.14
✎
14:13
|
Base64 сначало надо наверное...
|
|||
5
woland
29.10.14
✎
14:14
|
(4) это как?
|
|||
6
Garikk
29.10.14
✎
14:15
|
исходная строка (1) в Base64
|
|||
7
Garikk
29.10.14
✎
14:17
|
88/HzMHTz9fBzsnFIOnw/CBbaWQ9ZmNlMDNmMWQtNWU4ZC0xMWU0LWE4YTQtB?MDA1MDU2YjkwZmUwXTwwPg==
|
|||
8
Garikk
29.10.14
✎
14:17
|
вот ваша исходная строка, это Base64 а уж потом KOI-8
|
|||
9
woland
29.10.14
✎
14:20
|
Вот что получается в результате (сначала в Base64 потом в TF-8)
п»ї77u/OiA9P2tvaTgtcj9CPzg4L0h6TUhUejlmQnpzbkZJT253L0NCYmFXUTlabU5s TURObU1XUXROV1U0WkMweE1XVTBMV0U0WVRRdD89DQogPT9rb2k4LXI/Qj9NREEx TURVMllqa3dabVV3WFR3d1BnPT0/PQ0KVGhyZWFkLQ== |
|||
10
Garikk
29.10.14
✎
14:24
|
Из Base64
Получается Согласование ИПЭ [id=fce03f1d-5e8d-11e4-a8a4-?005056b90fe0]<0> |
|||
11
Garikk
29.10.14
✎
14:25
|
(9) не В, а ИЗ Base64
признак того что данные в Base64, это "==" в конце строки |
|||
12
woland
29.10.14
✎
14:35
|
(11) Я перевожу строку в двоичные данные. А как потом прочитать эти данные?
|
|||
13
woland
29.10.14
✎
14:44
|
Перевел строку в двоичные данные. Пытаюсь прочитать с помощь stream. Вот что говорит:
Стрим.Read(Стр); Ошибка при вызове метода контекста (Read): Типы не совпадают (0) |
|||
14
woland
29.10.14
✎
15:09
|
Неужели никто не сталкивался?
|
|||
15
Garikk
29.10.14
✎
15:11
|
В интернетах пишут что двоичные данные сохранят в файл и обратно читают оттуда
imho изврат, но если работает... |
|||
16
woland
29.10.14
✎
15:16
|
Результат = Base64Значение(ИсходнаяСтрока);
Результат.Записать(ИмяВрФ); Текст = Новый ЧтениеТекста(ИмяВрФ); Результат = Текст.Прочитать(); Результат получается необределено. |
|||
17
Легат
29.10.14
✎
15:42
|
Кстати, где можно получить подробную информацию про "Adodb"?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |