кодировка сообщения Python qpid - PullRequest
0 голосов
/ 14 февраля 2012

Я пытаюсь получать сообщения от брокера amqp в python.Вот мой код:

#!/usr/bin/python

import sys
import os
import getopt
from qpid.messaging import *
from qpid.log import enable, DEBUG

broker_rcv = "admin/admin@hostname:IP"
address_rcv = "broadcast.QUEUE_NAME.QUEUE_NAME"  + "; { node: { type: queue }, assert: never , create: never, mode: " + "browse" + " }"

connection_rcv = Connection(broker_rcv)
connection_rcv.open()
session_rcv = connection_rcv.session()
receiver = session_rcv.receiver(address_rcv)

msg = receiver.fetch(timeout=None)
print msg.content

Но когда я пытаюсь напечатать сообщения, я вижу их в странной кодировке, и нет способа изменить кодировку сообщений.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 11 марта 2012

Что вы делаете неправильно, так это то, что вы не можете декодировать сообщения.Когда вы получаете закодированное сообщение, вы должны начать с его декодирования.

Это сообщения FIX?Все технические характеристики здесь http://fixprotocol.org/specifications/

Одна библиотека Python здесь http://source.kentyde.com/fixlib

0 голосов
/ 06 марта 2012

msg.content содержит исходное содержимое сообщения, отправленное неким производителем. Вы не можете изменить это. А какую кодировку вы упомянули выше? Если вы видели это при печати сообщения, просто игнорируйте его.

...