![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 30
|
Здравствуйте.
Вот возникла такая проблемка. Значится, пишу "упрощенный до нельзя" приемник snmp trap на actionScript. Приходит trap с кучей различной информации, но меня интересует только текстовое поле. Всё приходит в виде ByteArray. Отправляется вот такая строка: snmptrap.exe -c public -v 2c 172.16.0.101:162 "" 1.3.3.3.3.3.3.3 1.2.2.2.2.2.2 s "Некая строка" Кодируется это всё через ASN.1 автоматически на стороне отправителя. Принимаю через DatagramSocket. Читаю так: Получается текстовая строка 0\ public�O '� До этого писал такую же штуку на C++. И простой манипуляцией: void __fastcall TForm1::ServerSocketUDPRead(TObject *Sender,
TStream *AData, TIdSocketHandle *ABinding)
{
char *resp = (ServerSocket->ReceiveString()).c_str();
}
получал указатель на полную закодированную строку в 94 символа, в которой было много белиберды, но строка "Некая строка" и сообщения была нормально читаемой и с ней можно было работать. Как мне сделать примерно такое же в ActionScript? Может есть какой-то метод перевода массива байт в осмысленную строку в нужной кодировке?.. readMultiByte(...); тоже ничего осмысленного не приносит, или чего-то неправильно указываю... Пользовался AS3Crypto, но там DER, а не BER, и не подходит. Да и не надо мне все поля целиком знать. Только сопутствующий текст. Спасибо |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А что Вы указываете в readMultiByte ?
И что значит "в нужной кодировке"? Вы знаете, в какой именно кодировке?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2011
Сообщений: 30
|
Цитата:
Пробовал различные, но поскольку не знаю какая именно нужна, вот и занимался перебором. Может там и UTF-8 идет изначально. Не знаю. Цитата:
Цитата:
Добавлено через 16 часов 45 минут Есть идеи? Добавлено через 17 часов 49 минут Просмотрел весь массив, который приходит. Там строка внутри имеется уже, только в виде кодов. То есть с помощью можно получить необходимую информацию. Просмотрев внимательно почему всегда строка всего 21 символ обнаружил, что в данной позиции myArray[21] = 0. Игнорирую если имеется ноль и строка идет нормально. В общем, всем спасибо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|