Actionscript 3 如何用数组对Actionscript进行URL编码
我需要上传URL编码的二进制数据到tumblr 这就是我目前正在尝试的:Actionscript 3 如何用数组对Actionscript进行URL编码,actionscript-3,oauth,binary,bytearray,Actionscript 3,Oauth,Binary,Bytearray,我需要上传URL编码的二进制数据到tumblr 这就是我目前正在尝试的: baseString.params = 'data[0]=' + URLEncoding.encode(byte.toString()).replace('~','%257E'); 有什么想法吗?好吧,首先,你的url编码看起来有些疯狂。您在上面发布的示例似乎是双重编码的: >>> x = unescape("%25C3%25BF%25C3%2598%25C3") >>
baseString.params = 'data[0]=' + URLEncoding.encode(byte.toString()).replace('~','%257E');
有什么想法吗?好吧,首先,你的url编码看起来有些疯狂。您在上面发布的示例似乎是双重编码的:
>>> x = unescape("%25C3%25BF%25C3%2598%25C3")
>>> x
"%C3%BF%C3%98%C3"
>>> unescape(x)
"ÿÃÃ"
其次,如果ByteArray
包含二进制数据,则不应使用ByteArray.toString()。相反,如果我没有记错的话,您应该使用ba.readMultiByte(ba.bytesavable,“latin1”)
,它将返回一个包含原始字节的字符串
第三,我觉得你的URLEncoding
类很可疑。相反,您可以只使用escape
(和unescape
)内置项:
>>> escape("\12")
"%0A"
怎么了?它看起来应该可以工作…我从Tumblr收到一个“未授权”响应。你确定问题出在你的URL编码上,而不是别的什么吗?是的,我用baseString.params='body=test'替换了上面的行;哪个字段是文本帖子所需的字段,它工作得很好。你能把字符串的编码版本发布给他们吗?另外,“数据[0]”
似乎有点奇怪-您确定这是正确的参数名称吗?还有,unicode和它有什么关系吗?(我不记得ByteArray.toString()
是如何处理的…)Downvoter:你介意解释一下你自己吗,这样我可以改进我以后的问题吗?