![]() |
|
Кодировать строку в последовательность байтов | ☑ | ||
---|---|---|---|---|
0
odines
06.03.13
✎
16:44
|
нужен аналог метода System.Text.Encoding.UTF8.GetBytes только на 1С, подскажите как можно закодировать строку в последовательность байтов и запихнуть в текст?
|
|||
1
Maxus43
06.03.13
✎
16:46
|
пиши сам...
|
|||
2
NcSteel
06.03.13
✎
16:47
|
ХранилищеЗначений?
|
|||
3
Banned
06.03.13
✎
16:47
|
Строка - это и есть последовательность байтов...
|
|||
4
odines
06.03.13
✎
16:50
|
System.Text.Encoding.UTF8.GetBytes("qwe") - дает массив 113, 119, 101...в visual studio смотрю, это что за цифры?
|
|||
5
Maxus43
06.03.13
✎
16:53
|
(4) коды символов в UTF8 есно
|
|||
6
H A D G E H O G s
06.03.13
✎
16:53
|
(4) Значения байтов, состовляющих строку.
|
|||
7
H A D G E H O G s
06.03.13
✎
16:53
|
(5) Нет.
|
|||
8
H A D G E H O G s
06.03.13
✎
16:53
|
(5) Не всегда.
|
|||
9
Maxus43
06.03.13
✎
16:54
|
||||
10
odines
06.03.13
✎
16:56
|
(5)(6) мне просто пост запросом на сервак нужно послать строку, из C# посылает корректно когда я эту строку посылаю пропустив через этот метод
т.е. 1.txt я пишу "qwe", а как мне это все преобразовать в байты и запихнуть в файл который я отправлю...? |
|||
11
H A D G E H O G s
06.03.13
✎
16:56
|
(5) Для варианта автора - по факту - коды символов, но как только туда затешется кирилица - приехали, будет по 2 байта на символ.
|
|||
12
wertyu
06.03.13
✎
16:56
|
КодСимвола n раз?
Возвращаемое значение: Тип: Число. Код переданного символа. Код возвращается в соответствии с кодировкой Unicode. |
|||
13
H A D G E H O G s
06.03.13
✎
16:57
|
(10) И в чем проблема то?
|
|||
14
odines
06.03.13
✎
16:58
|
(13)qwe - во что переводить? "113119101"?
|
|||
15
H A D G E H O G s
06.03.13
✎
16:59
|
(10) 1С по дефолту пишет в utf-8 и скорее всего добавляет BOM. Вот и баттхерт у сервера.
|
|||
16
Maxus43
06.03.13
✎
16:59
|
сохранить в текстовый файл в формате utf8 - не тоже самое будет?
|
|||
17
H A D G E H O G s
06.03.13
✎
17:02
|
Текст=Новый ЗаписаТекста("c:\test.txt",КодировкаТекста.Ansi);
Текст.Записать("qwe"); Текст.Закрыть(); |
|||
18
Serginio1
06.03.13
✎
17:08
|
(17)
Текст=Новый ЗаписаТекста("c:\test.txt","UTF-8 "); Текст.Записать("qwe"); Текст.Закрыть(); |
|||
19
Serginio1
06.03.13
✎
17:09
|
Пробел добавил. Вообще лучше явно кодировку указывать, не ориентруясь на локаль.
Текст=Новый ЗаписаТекста("c:\test.txt","UTF-8"); Текст.Записать("qwe"); Текст.Закрыть(); |
|||
20
H A D G E H O G s
06.03.13
✎
17:09
|
(18) А какая разница то?
|
|||
21
Serginio1
06.03.13
✎
17:11
|
20 КодировкаТекста.Ansi<>"UTF-8"
|
|||
22
wertyu
06.03.13
✎
17:14
|
(21) да вообще не надо кодировку указывать, по-дефолту UTF-8
|
|||
23
H A D G E H O G s
06.03.13
✎
17:15
|
(21) Для латиницы монопенисуально.
|
|||
24
НафНаф
06.03.13
✎
17:17
|
Сообщить(КодСимвола("q"));
Сообщить(КодСимвола("w")); Сообщить(КодСимвола("e")); то и дает |
|||
25
Serginio1
06.03.13
✎
17:18
|
A Base64 не спасет?
(23) Тогда US-ASCII |
|||
26
H A D G E H O G s
06.03.13
✎
17:18
|
(19) Она хреначит BOM.
|
|||
27
H A D G E H O G s
06.03.13
✎
17:19
|
(25) Да, US-ASCII подойдет.
|
|||
28
Serginio1
06.03.13
✎
17:22
|
в 1С нет категории массив байт. Есть SafeArray, но его из двоичных данных не создать.
(27) На самом деле ему по его задаче нужен Base64 как что то другое он в текст запихнет |
|||
29
H A D G E H O G s
06.03.13
✎
17:23
|
(28) Мне непонятно, что ему нужно, я не телепат.
|
|||
30
Serginio1
06.03.13
✎
17:24
|
или использовать v8: Объекты Net в IDispatch
|
|||
31
odines
06.03.13
✎
17:24
|
не знаю не получается - собственно вот о чем речь:
http://api.yandex.ru/direct/doc/examples/sc-json.xml пример на C# пашет - но там байты отправляется: byte[] result = wc.UploadData(wsdl, "POST", System.Text.Encoding.UTF8.GetBytes(json)); а в 1с я тот же json засовываю - из текстового файла кидаю постом: { "method": "GetClientInfo", "param": ["agrom"], "locale": "ru", "login": "agrom", "application_id": "eef1c9fce4874819b8399bb0bac9b9d9", "token": "e4d3b4d2a7444fb387a18dda54d1c8d9" } яндекс пишет что неверный формат - вот я и думаю что в файле с этим json у меня проблема, толи кодировка толи еще чето |
|||
32
odines
06.03.13
✎
17:25
|
(31)НТТР.ОтправитьДляОбработки("c:\test.txt", "/json-api/v4/", ИмяФайлаОтвета, ЗаголовокHTTP);
в файле у меня это json - но его не принимает... |
|||
33
Serginio1
06.03.13
✎
17:30
|
30 Или использовать более продвинутый вариант http://rsdn.ru/forum/dotnet/4719475
|
|||
34
odines
06.03.13
✎
17:37
|
(33)не охота с внешними компонентами связываться, но видимо придется
|
|||
35
Serginio1
06.03.13
✎
17:40
|
(34) Это не компонента. Это сом объект. Компилируй его по any processor и будет он у тебя работать ка под 32 так и 64 разрядном приложении.
|
|||
36
Serginio1
06.03.13
✎
17:42
|
(34) А куда деваться? 1C очень ограниченный продукт.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |