我想在Python中编码,存储和解码参数,并在途中丢失某处。这里是我的步骤:使用Python进行URL编码/解码
1)我使用谷歌工具包的gtm_stringByEscapingForURLArgument
正确地转换NSString传递到HTTP参数。我注意到这些字符串参数是u'1234567890-/:;()$&@".,?!\'[]{}#%^*+=_\\|~<>\u20ac\xa3\xa5\u2022.,?!\''
(请注意,这些是“123”视图和“#+ =”视图中的iphone键盘上的标准键,这些键是在我的服务器(python) \u
和\x
字符在那里是一些货币前缀像英镑,日元等)
3)我叫urllib.quote(myString,'')
上存储的值,想必%-escape它们运输到客户端,以便客户端可以unpercent逃避它们。
结果是,当我尝试记录%转义的结果时,出现异常。是否有一些关键的步骤,我忽略了,需要用\ u和\ x格式将存储值应用于存储值以正确转换为通过http发送?
更新:标记为下面答案的建议适用于我。不过,我提供了一些更新来解决下面的评论。
我收到的例外引用了\u20ac
的问题。我不知道这是否与这个问题有关,而不是它是该字符串中的第一个unicode字符。
\u20ac
char是欧元符号的Unicode。我基本上发现我会遇到问题,除非我使用urllib2 quote
方法。
请尽可能提供异常详情和跟踪。 – 2010-08-25 06:06:12
看来你的字符串不是一个有效的Unicode字符串。我试图简单地打印它,它给了我\ u20ac字符的编码错误。 – 2010-08-25 07:05:39