nie mogę uzyskać to do pracy.
I ma ciąg HTML z
NON breaking space
</div>Great Guildford St/SouthwarkSt & nbsp;Stop:& nbsp; BM<br>Walk to SE1 0HL<br>
"Great Guildford St/SouthwarkSt \U00a0Stop:\U00a0 BM",
próbowałem 3 rodzaje kodowania/dekodowania
// NSData *asciiData = [instruction dataUsingEncoding:NSUTF16BigEndianStringEncoding];
// NSString *asciiString = [[NSString alloc] initWithData:asciiData
// encoding:NSUTF16BigEndianStringEncoding];
// NSData *asciiData = [instruction dataUsingEncoding:NSASCIIStringEncoding];
// NSString *asciiString = [[NSString alloc] initWithData:asciiData
// encoding:NSASCIIStringEncoding];
//little endian
NSData *asciiData = [instruction dataUsingEncoding:NSUTF16LittleEndianStringEncoding];
NSString *asciiString = [[NSString alloc] initWithData:asciiData
encoding:NSUTF16LittleEndianStringEncoding];
żaden z nich pracował. Wydawało się pracować tak, jakbym NSLog ciąg to wygląda OK
NSLog(@"HAS UNICODE :%@", instruction);
..do encode/decode
NSLog(@"UNICODE AFTER:%@", asciiString);
Które wyjście
HAS UNICODE: St/SouthwarkSt Stop: BM
UNICODE AFTER: St/SouthwarkSt Stop: BM
ale zdarzyło mi się przechowywać je w NSArray i zdarzyło mi się nazwać [stringArray description]
i wszystkie Unicode nadal tam
instructionsArrayString: (
"Great Guildford St/SouthwarkSt \U00a0Stop:\U00a0 BM",
"Walk to SE1 0HL"
)
więc coś w NSLog ukrywa
ale pojawia się w opisie NSArray więc można pomyśleć zabawie remo jeśli nie masz kodu Unicode.
Spróbuję innej metody, która zastąpi znaki.
wszystkie znaki są Unicode – user102008