You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Dominic Evans (JIRA)" <ji...@apache.org> on 2014/05/01 16:23:19 UTC

[jira] [Created] (PROTON-576) proton-j: codec support for UTF-8 encoding and decoding appears broken?

Dominic Evans created PROTON-576:
------------------------------------

             Summary: proton-j: codec support for UTF-8 encoding and decoding appears broken?
                 Key: PROTON-576
                 URL: https://issues.apache.org/jira/browse/PROTON-576
             Project: Qpid Proton
          Issue Type: Bug
          Components: proton-j
    Affects Versions: 0.7
            Reporter: Dominic Evans


It seems like Proton-J has its own custom UTF-8 encoder, but relies on Java String's built-in UTF-8 decoder. However, the code doesn't seem quite right and complex double byte UTF-8 like emoji ('📔🚢🍛🍴🍹🏊🏄') can quite easily fail to parse:

|   |   Cause:1       :-  java.lang.IllegalArgumentException: Cannot parse String
|   |   Message:1     :-  Cannot parse String
|   |   StackTrace:1  :-  java.lang.IllegalArgumentException: Cannot parse String
|   |   	at org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:48)
|   |   	at org.apache.qpid.proton.codec.StringType$1.decode(StringType.java:36)
|   |   	at org.apache.qpid.proton.codec.DecoderImpl.readRaw(DecoderImpl.java:945)
|   |   	at org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:172)
|   |   	at org.apache.qpid.proton.codec.StringType$AllStringEncoding.readValue(StringType.java:124)
|   |   	at org.apache.qpid.proton.codec.DynamicTypeConstructor.readValue(DynamicTypeConstructor.java:39)
|   |   	at org.apache.qpid.proton.codec.DecoderImpl.readObject(DecoderImpl.java:885)
|   |   	at org.apache.qpid.proton.message.impl.MessageImpl.decode(MessageImpl.java:629)




--
This message was sent by Atlassian JIRA
(v6.2#6252)