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