iphone - 来自 NSString 的 NSData

标签 iphone objective-c ios ios6

<分区>

嘿,我正在尝试将文本转换为 ASCII,然后将其存储在服务器上,然后当我取回它时,我想将文本解码回 NSString

我使用以下代码在随机应用程序上进行测试..但在这里我将 NSdata 作为全局变量,因此它工作正常..

问题是我如何在 NSData 变量中获取从服务器返回的值 NSString,以便我可以将其转换回我编码的文本。

.h

@interface passTestViewController : UIViewController
{
    NSString *text;
    NSData *d;
}

.m

- (IBAction)eButton:(id)sender {
    text = [NSString stringWithFormat:@"%@%@%@",@"!",[_textField text],@"!"];

    d=[[NSString stringWithFormat:@"%@",text] dataUsingEncoding:NSASCIIStringEncoding];
    text = [NSString stringWithFormat:@"%@",d];

    [_label setText:text];
}

- (IBAction)dButton:(id)sender {

    NSString *dString = [[NSString alloc] initWithData:d encoding:NSASCIIStringEncoding];
    dString = [dString stringByReplacingOccurrencesOfString:@"!" withString:@""];
    [_label setText:dString];
}

我需要把它传给 NSData。我通过 JSON 将它发送到我的服务器,然后当我取回它时......我将它作为一个字符串......我需要的是

NSData *d = stringThatIGetBackFromJson; 

所以我可以转换它

NSString *dString = [[NSString alloc] initWithData:d encoding:NSASCIIStringEncoding];

获取用户输入的原始字符串。

编码后我从中得到的字符串也有符号和空格.. '<' '>' 和 ' ' 它不会通过 url 所以我所做的是删除空格和 < > 通过

myString = [myString stringByReplacingOccurrencesOfString:@" " withString:@""];
myString = [myString stringByReplacingOccurrencesOfString:@"<" withString:@""];
myString = [myString stringByReplacingOccurrencesOfString:@">" withString:@""];

所以现在我要返回的只是像“40786d61646f6f2131323334216b6d646f616f”这样的数字......这附近有什么吗? 比较我只是检查编码文本并遵循相同的步骤,然后比较是否 isEqualTo,但我想取回文本以便能够在应用程序上发布。

最佳答案

尝试以下三种方法将NSString转换为NSData

1.NSData* data = [yourString dataUsingEncoding:NSUTF8StringEncoding];

2.NSData* data=[yourString dataUsingEncoding: [NSString defaultCStringEncoding] ];

3.NSData* data = [yourString dataUsingEncoding:NSUTF8StringEncoding];<br/> data = [data subdataWithRange:NSMakeRange(0, [data length] - 1)];

如果数据不是null-terminated

NSString* myString = [[NSString alloc] initWithData:nsDataString
                                         encoding:NSUTF8StringEncoding] ;

如果数据是null-terminated

NSString* myString = [NSString stringWithUTF8String:[nsDataString bytes]];

关于iphone - 来自 NSString 的 NSData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13191632/

上一篇:ios - NSMutableArray removeObjectAtIndex 在第二次执行时崩溃

下一篇:iphone - 隐藏后navigationController工具栏不会重新出现

相关文章:

objective-c - Appirater 的 App Store ID 不同于 plist 的 ID,而且显然是随机的

ios - 如何在 View 的图层颜色发生变化时制作不同的颜色外观

iphone - 如何检测 subview 是否已关闭?

ios - UISearchDisplayController 不完全覆盖 subview Controller

iphone - 提醒应用程序 - 重复某个提醒

objective-c - iOS - FMDB 使用和内存

iphone - 最快的 iPhone Blit 例程?

objective-c - 如何隐藏 NSMenuItem?

ios - 多个 UIDatePicker 一个 uitextfield

ios - 如何将processSampleBuffer的samplebuffer从应用程序扩展传递到ios中的 Controller