[ 
https://issues.apache.org/jira/browse/QPID-2452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12846666#action_12846666
 ] 

Rafael H. Schloming commented on QPID-2452:
-------------------------------------------

The python client doesn't assume anything about the strings on the wire, it 
just looks at the typecode. If the typecode says it is UTF-8 data then it will 
decode as UTF-8. If the tyepcode says it is raw binary then it will decode as 
raw binary. From what you're describing it sounds to me like we're somehow 
putting raw octets onto the wire but incorrectly tagging them as UTF-8.


> Inconsistent handling on strings between C++ and Python messaging APIs
> ----------------------------------------------------------------------
>
>                 Key: QPID-2452
>                 URL: https://issues.apache.org/jira/browse/QPID-2452
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Client, Python Client
>            Reporter: Ted Ross
>             Fix For: 0.7
>
>
> Description of problem:
> This bug is in reference to the new messaging APIs.
> The handling of strings is different between the C++ and Python messaging 
> APIs.
>  The Python API assumes strings on-the-wire are UTF-8 encoded.  The C++ API
> apparently uses raw, unencoded octet arrays.
> If a binary string of octets (with some octets > 0x7F), is encoded by a C++
> client and received by a Python client, the Python client will throw an
> exception.
> Version-Release number of selected component (if applicable):
> SVN revision 924529 and prior.
> How reproducible:
> 100%
> Steps to Reproduce:
> 1. Use the C++ API (qpid::messaging) to produce a map-message (using
> MapContent).  One of the map entries should have a string value and should
> contain a sequence such as "!E\xf9\xf5\xdf\x89d\x011\xc0\xc8$7H\x99T"
> 2. Use the python client to receive the message.
> Actual results:
> The Python client will throw an exception when it tries to UTF8-decode the
> string.
> Expected results:
> Either Python should use raw-octet encoding or C++ should use UTF8.  I expect
> the string seen by the Python receiver to be identical to that sent by the C++
> producer.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to