Cocoa: Konvertere data fra NSdata til NSString?

1 view
Skip to first unread message

jkleis

unread,
Nov 26, 2008, 4:36:05 AM11/26/08
to Copenhagen Cocoa
Jeg prøver forgæves at downloade data fra en webside - eller det går
ganske godt med at downloade data. Problemet er bare at jeg gerne vil
konvertere mine data til en streng.

Så jeg har forsøgt mig med:
{
NSString * urlString = @"http://www.google.com";
NSURL *theURL = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest =[NSURLRequest requestWithURL: theURL];

NSError *error;
NSData *urlData;
NSURLResponse *response;
urlData=[NSURLConnection sendSynchronousRequest:urlRequest
returningResponse: &response error:&error];
NSLog(@"Data er: start %@ slut", urlData);
NSString * newOutText;
newOutText= [[NSString alloc] initWithData:urlData
encoding:NSUTF8StringEncoding];
NSLog(@"String data er: start %@ slut", newOutText);
}

Og for Data log får jeg:
2008-11-24 22:09:34.684 Krak[17862:10b] Data er: start <3c68746d
6c3e3c68 6561643e 3c6d6574 612..... ... ...> slut
mens for String Data:
2008-11-24 22:09:34.686 Krak[17862:10b] String data er: start (null)
slut

Hvis jeg ændrer encoding, kan jeg godt få en streng ud. F.eks. virker
ovenstående på google:
newOutText= [[NSString alloc] initWithData:urlData
encoding:NSASCIIStringEncoding];

Og der kommer noget brugbart ud! Desværre kun når det er googles
homepage eller krak.
Hvis jeg laver en søgning, f.eks. efter en person på krak, fungerer
NSASCIIStringEncoding ikke (kun 7bits) - hvis jeg bruger andre
encodings, kan jeg få en streng igennem på græsk eller på japansk -
men det har ikke rigtigt min interesse.

Er der nogle der kan hjælpe? Se evt. mere her http://macbay.dk/key/agNyYnlyCwsSBFBvc3QY4E4M

Mikkel Bruun

unread,
Nov 28, 2008, 9:49:54 AM11/28/08
to Copenhagen Cocoa
har du prøvet [NSString stringWithContentsOfURL:@"http://
blabla.com"];

jkleis

unread,
Nov 28, 2008, 3:14:39 PM11/28/08
to Copenhagen Cocoa
Det fungerede faktisk - men så vidt jeg kunne forstå på
dokumentationen, så er denne funktionsmetode deprecated (
http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/DeprecationAppendix/AppendixADeprecatedAPI.html).

Men mange tak for hintet!
Reply all
Reply to author
Forward
0 new messages