テキストを 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 かどうかを比較していますが、アプリに投稿できるようにテキストを取得したいと考えています。