Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[98.80.143.34] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте.
Вот возникла такая проблемка. Значится, пишу "упрощенный до нельзя" приемник 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. Читаю так: event.data.readUTFBytes( event.data.bytesAvailable ) Получается текстовая строка 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, и не подходит. Да и не надо мне все поля целиком знать. Только сопутствующий текст. Спасибо |