如何在Objective-C中编码或解码URL [英] How to encode or decode URL in objective-c

查看:167
本文介绍了如何在Objective-C中编码或解码URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有类似的东西

+(NSString *) URLencode: (NSString *) someString


+(NSString *) URLdecode: (NSString *) someString

如果是,该如何实施?

请注意投票者.这不是一个简单的问题.我需要可以全面做到这一点的东西.例如:

Note to downvoters. This is NOT a simple question. I need something that can comprehensively do this. For example:

NSString * test = @"汉字马拉松是";
NSString * encoded = [test stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
PO(encoded);
PO(test);

将产生以下内容:

2012-06-04 16:04:22.709 BadgerNew[2266:17003] <0xcd890 GrabClass.m:(930)> encoded (null)
2012-06-04 16:04:22.710 BadgerNew[2266:17003] <0xcd890 GrabClass.m:(931)> test 汉字马拉松是

我希望我的编码能够对包括日语在内的所有内容进行URL编码.

I want my encoding to be able to URL encode EVERYTHING including japanese language, etc.

所以我想编码包含%E6%B1%89%E5%AD%97%E9%A9%AC%E6%8B%89%E6%9D%BE%E6%98%AF

So I want encoded to contain something along %E6%B1%89%E5%AD%97%E9%A9%AC%E6%8B%89%E6%9D%BE%E6%98%AF

http://mobiledevelopertips.com/中有2种不同的方法联网/a-better-url-encoding-method.html

没有一个人足够好.

我需要能够对所有字符串进行编码,包括日文/中文字符.

I need to be able to encode ALL strings, including japanese/chinese characters.

更新:我按照H2CO3的答案进行操作: NSString * test = @汉字马拉松是"; NSString *编码= [测试stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; PO(已编码); PO(测试); PO(已编码);

Update: I followed H2CO3 answer and do this: NSString * test = @"汉字马拉松是"; NSString * encoded = [test stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; PO(encoded); PO(test); PO(encoded);

按预期工作.

推荐答案

中文和日文字符与ASCII字符串编码不兼容是很自然的.如果您尝试通过Apple的方法对字符串进行转义(绝对应该避免代码重复),则将结果存储为Unicode字符串.使用以下编码之一:

It's natural that Chinese and Japanese characters don't work with ASCII string encoding. If you try to escape the string by Apple's methods, which you definitely should to avoid code duplication, store the result as a Unicode string. Use one of the following encodings:

NSUTF8StringEncoding
NSUTF16StringEncoding
NSShiftJISStringEncoding (not Unicode, Japanese-specific)

这篇关于如何在Objective-C中编码或解码URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆