page.PHP?text=Hello World & Space.
现在我发现了“&”由服务器接收,但读取就像新变量开始一样.所以它看到(我认为):
text = "Hello World "Space. =
我确实读过,我可以尝试对文本进行编码,使其看起来像是一个URL(比如“”[space]变成“”)但是没有办法正确编码.我得出结论:
texttopOST = [text stringByAddingPercentEscapesUsingEnCoding:NSASCIIStringEnCoding];
但这不会编码&符号,而是编码其他所有内容.结果是:
some text ü blablabla
变成
some%20text%20ü%20blablabla
与&没有编码.那我怎么能这样做,请帮忙.
非常感谢
解决方法 不幸的是,stringByAddingPercentEscapesUsingEnCoding不是URL编码,因为大多数人都理解它.它会转义在URL中完全无效的字符,但不包含在URL中具有特殊含义的字符.因此,它可用于“纠正”无效的用户输入的URL,但它非常不适合从转义路径和查询字符串组件创建URL.(在JavaScript术语中,它类似于encodeURI而不是您经常需要的那个是encodeURIComponent.)
因此,为了正确地做到这一点,你需要另一种方法,无论是你自己的方法还是现有框架的捏合(这是一个非常常见的痛点,所以很多库都有解决方法).可以使用CFURLCreateStringByAddingPercentEscapes
实现.有关示例代码,请参阅this answer.
以上是内存溢出为你收集整理的objective-c – 使用带有Obj-C的帖子发送放大器(&)全部内容,希望文章能够帮你解决objective-c – 使用带有Obj-C的帖子发送放大器(&)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)