В perl, если я кодирую следующее от iso-8859-1 до utf8.
(00000) 0a0b0111 666c6578 74696d65 05427351 ....flextime.BsQ
(00016) f4aea370 00137469 6d657374 616d7009 ...p..timestamp.
(00032) 05010541 d3c8a8a2 40000004 aff01403 ...A....@.......
(00048) 61090301 090b0104 01040204 03040404 a...............
(00064) 0501 ..
Это результат:
(00000) 0a0b0111 666c6578 74696d65 05427351 ....flextime.BsQ
(00016) c3b4c2ae c2a37000 1374696d 65737461 ......p..timesta
(00032) 6d700905 010541c3 93c388c2 a8c2a240 mp....A........@
(00048) 000004c2 afc3b014 03610903 01090b01 .........a......
(00064) 04010402 04030404 040501 ...........
Если я декодирую результат perl, используя javascript, это то, что я получаю:
00000000: 00 0b 00 01 00 11 00 66 00 6c 00 65 00 78 00 74 00 69 00 6d 00 65 00 05 00 42 00 73 00 51 4b a3 |flextimeBsQ.|
00000016: 00 70 00 00 00 13 00 74 00 69 00 6d 00 65 00 73 00 74 00 61 00 6d 00 70 00 09 00 05 00 01 00 05 |ptimestamp.|
00000032: 00 41 04 c8 88 80 00 00 00 00 00 04 fc 14 00 03 00 61 00 09 00 03 00 01 00 09 00 0b 00 01 00 04 |A...a..|
00000048: 00 01 00 04 00 02 00 04 00 03 00 04 00 04 00 04 00 05 00 01 .. .. .. .. .. .. .. .. .. .. .. .. | |
Может ли кто-нибудь помочь мне с этим? Источником является объект AMF, отправленный из флэш-памяти на сервер Perl, который повторно отправляет его в JavaScript Способ отправки данных (от flash до perl и javascript) не меняет никаких данных.
Код в Perl:
use Encoding;
from_to($out,"iso-8859-1","utf8",Encode::FB_WARN);
Если я использую кодировку utf8 по умолчанию в perl, я получаю тот же результат.
Это было обновлено, чтобы включить шестнадцатеричный дамп вместо двоичного.
Мне нужен метод кодирования в Perl, который будет возвращать тот же результат, что и JavaScript. Можно протестировать , используя эту страницу .
Любая помощь будет высоко ценится.