|
Как преобразовать строку? | ☑ | ||
---|---|---|---|---|
0
Галахад
гуру
26.03.14
✎
13:51
|
Есть строка символов в кодировке WIN1251
C0 D1 CF C4 20 D8 D2 D0 C8 D5 2D 4C 49 47 48 54 Как привести ее в человекочитаемый вид? |
|||
1
Chai Nic
26.03.14
✎
13:52
|
Программу написать)
|
|||
2
vmv
26.03.14
✎
13:52
|
таблицу кодировки выучить
|
|||
3
vicof
26.03.14
✎
13:53
|
Нанять перекодировщика
|
|||
4
vmv
26.03.14
✎
13:54
|
500К за фразу
|
|||
5
skunk
26.03.14
✎
13:54
|
||||
6
Галахад
гуру
26.03.14
✎
14:03
|
(1) Гм. Я думал есть готовый алгоритм.
(5) Что-то не получается. |
|||
7
Bot01
26.03.14
✎
14:08
|
ЗаписьТекста/ЧтениеТекста или ТекстовыйДокумент.
|
|||
8
Галахад
гуру
26.03.14
✎
14:13
|
(7) Типа того? Или как?
ИмяФайла = "c:\1\тест.txt"; Текст = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI); Текст.ЗаписатьСтроку("FC 00 06 00 01 05 F0 00 C0 D1 CF C4 20 D8 D2 D0 C8 D5 2D 4C 49 47 48 54"); Текст.Закрыть(); Текст = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8); Стр = Текст.ПрочитатьСтроку(); Пока Стр <> Неопределено Цикл Сообщить(Стр); Стр = Текст.ПрочитатьСтроку(); КонецЦикла; |
|||
9
Bot01
26.03.14
✎
14:14
|
||||
10
ДенисЧ
26.03.14
✎
14:14
|
(8) не взлетит
|
|||
11
Chai Nic
26.03.14
✎
14:15
|
(8) Неа, надо последовательно получать подстроки шестнадцатиричных октетов, далее их переводить в число, и после получать символ по коду.
|
|||
12
skunk
26.03.14
✎
14:17
|
(6)что не получается ... получить из (0) - АСПД ШТРИХ-LIGHT?
|
|||
13
Torquader
26.03.14
✎
14:17
|
Заменить пробелы на = и использовать Quoted-Printable.
|
|||
14
skunk
26.03.14
✎
14:18
|
||||
15
Галахад
гуру
26.03.14
✎
14:24
|
(9) Спасибо попробую.
(11) Это как? C0 ---> 192 ---> Символ(192) (12) Да, верно. |
|||
16
Torquader
26.03.14
✎
14:30
|
АСПД ШТРИХ-LIGHT
(12) Там действительно это записано. А получаете это вы откуда в таком "извращённом" виде ? |
|||
17
Галахад
гуру
26.03.14
✎
14:35
|
(9) Что-то не получается.
ИмяФайла = "c:\1\1.txt"; ИмяФайла2 = "c:\1\2.txt"; Текст = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.ANSI); txt = Текст.Прочитать(); Текст.Закрыть(); файлЗапись = Новый ЗаписьТекста(ИмяФайла2,КодировкаТекста.UTF8); файлЗапись.Записать(txt); файлЗапись.Закрыть(); (16) Так из него же. С АСПД. Вот так: КомандаКВыполнению = "FC"; КомандаВыполнена = Объект.Драйвер.DeviceControlHEX(Объект.ИДУстройства, КомандаКВыполнению, РезультатКоманды); |
|||
18
skunk
26.03.14
✎
14:38
|
(16)в "извращенном" это как?
|
|||
19
Torquader
26.03.14
✎
14:40
|
(18) Ну, как написано в (17) Драйвер.DeviceControlHex - хочется человеку водиться с раскодированием.
P.S. просто в 1С строка будет преобразована в Unicode-формат и поймать коды будет просто нереально, так как их придётся ещё и из 1251 в Unicode преобразовывать. |
|||
20
Галахад
гуру
26.03.14
✎
14:43
|
(19) Есть желание использовать один драйвер.
|
|||
21
skunk
26.03.14
✎
14:45
|
||||
22
skunk
26.03.14
✎
14:47
|
(19)нихера не понял ... зачем драйвер ... если в басике есть функция для конвертации строки кодов в строку
|
|||
23
Torquader
27.03.14
✎
16:19
|
(22) В управляемых формах в 1С есть интерфейс драйвера, через который даже пикнуть нельзя, но, есть функция приёма-передачи строк как есть, и чтобы люди с кодировкой не мучились (представьте, как например, работа из javascript с драйвером Штрих-М "очень жизнеутверждающее зрелище", а уж если в COM-порт писать, то байты преобразуются в символы исходя из текущей кодировки) сделали вывод шестнадцатеричных слов.
Так что - приходится "брать бубен" и вперёд в освоение способов передачи данных. |
|||
24
cw014
27.03.14
✎
16:39
|
1 500 - напишу преобразователь UTF-8 -> ANSI )))
|
|||
25
Torquader
27.03.14
✎
16:42
|
(24) Только нужно ещё помнить, что ANSI зависит от установленной по умолчанию кодировки, причём, в Windows 7 уже даже и от выбранной раскладки клавиатуры.
Поэтому, лучше этот вопрос оставить для VbScript, который умеет это делать очень просто. UTF-8 -> Unicode -> ANSI |
|||
26
Wobland
27.03.14
✎
16:48
|
>C0 D1 CF C4 20 D8 D2 D0 C8 D5 2D 4C 49 47 48 54
что тут нечеловекочитаемого? цэ-ноль, дэ-один, цэ-эф.. |
|||
27
Torquader
30.03.14
✎
01:24
|
(26) Ну - читаемо там всё, а вот работать с этим в 1С - это уже другое дело.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |