小编iph*_*Pom的帖子

URL的编码字符串

我必须从Iphone应用程序将数据发布到php页面,所以我需要正确编码参数,转换特殊字符...

特别是我需要发送iPhone的UDID.

我在网上找到了许多帮助编码String作为参数传递,但我得到一个奇怪的错误.

我正在使用这个功能:

- (NSString *)URLEncodeString:(NSString *)string { 

NSString *result =
   (NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, 
    (CFStringRef)string, NULL, CFSTR("'\"?=&+<>;:-"), kCFStringEncodingUTF8);

return [result autorelease];}
Run Code Online (Sandbox Code Playgroud)

它似乎是正确的,但当我使用它时,结果不是我所期望的.

这是代码:

UIDevice *device = [UIDevice currentDevice];
NSString *uniqueIdentifier = [device uniqueIdentifier];

NSLog(uniqueIdentifier);
NSLog([self URLEncodeString:uniqueIdentifier]);
Run Code Online (Sandbox Code Playgroud)

这是我点击此代码时生成的日志:

2010-06-23 21:58:51.671 provaNavigation[2343:20b] 00000000-0000-1000-8000-0013775CE6D2
2010-06-23 21:58:51.672 provaNavigation[2343:20b] 0000000010003900009080176010001273086780001283520013775CE6D2
Run Code Online (Sandbox Code Playgroud)

然后再次:

2010-06-23 21:59:25.614 provaNavigation[2343:20b] 00000000-0000-1000-8000-0013775CE6D2
2010-06-23 21:59:25.615 provaNavigation[2343:20b] 000000001000390000908192801000-18000912258750013775CE6D2
Run Code Online (Sandbox Code Playgroud)

然后再次:

2010-06-23 21:59:40.848 provaNavigation[2343:20b] 00000000-0000-1000-8000-0013775CE6D2
2010-06-23 21:59:40.849 provaNavigation[2343:20b] 000000001000390000908866081000-18000912239630013775CE6D2
Run Code Online (Sandbox Code Playgroud)

然后再次...

我每次都会获得不同的值,并且永远不会使用正确的%编号进行更正.

iphone post objective-c urlencode nsstring

1
推荐指数
1
解决办法
959
查看次数

标签 统计

iphone ×1

nsstring ×1

objective-c ×1

post ×1

urlencode ×1