【发布时间】:2010-08-05 14:55:11
【问题描述】:
我想将字节发送到服务器。所以我不知道哪些数据类型用于字节。我使用了“%s”并将字节发送到服务器。但是在服务器端,他们只收到了 6 个字节。但我的情况是我想向服务器发送 32 个字节。那么使用哪种数据类型呢?
编辑:-
这是我的示例代码,
-(void)sendDevice:(NSData *)data // data value comes 32 bytes.
{
NSString *urlString = [NSString stringWithFormat: @"http://MyserverURL.php?Dataid=%????",[data bytes]];
NSURL *urlToSend2 = [[NSURL alloc] initWithString:urlString];
NSURLRequest *urlRequest2 = [NSURLRequest requestWithURL:urlToSend2 cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:50];
NSURLConnection *theconnection=[[NSURLConnection alloc] initWithRequest:urlRequest2 delegate:self];
[theconnection start];
}
请指导我。
谢谢。
【问题讨论】:
-
%s 把它变成一个字符串,危险!字符串在 C 中的 0 字节处终止(以及 Objective C 中),所以也许你有 6 个非零字节和下一个 0,例如并非所有字符都可以安全地出现在 URL 中(这就是我们使用 url 编码/引用的原因),所以 %s 不是一个好主意!