2015-04-15 6 views
0

Я извлекаю текстовые данные из URL-адреса, и есть один конкретный символ, который, кажется, не закодирован правильно -> ȭКак закодировать ȭ в удобочитаемую строку?

Я знаю, что это за символ, поэтому я попытался вручную закодировать его в utf-8, но Xcode даже не признают, что характер

NSLog(@"before: %@", brokenCharacter); 
if([brokenCharacter isEqualToString: @"ȭ"]) brokenCharacter = @"A"; 
NSLog(@"after: %@", brokenCharacter); 

я получаю NSLog как:

before: ȭ 
after: ȭ 

будет ли решение этой проблемы?

+0

Я не могу воспроизвести это. Вышеприведенный код отлично работает для меня, если я добавлю 'NSString * brokenCharacter = @" ȭ ";'. Как вы это настраиваете? Вы уверены, что входящая строка на самом деле ȭ? –

ответ

0

Может быть использование NSUTF16BigEndianStringEncoding в качестве параметра кодирования

NSString *brokenCharacter = @"ȭ"; 
NSLog(@"before: %@", brokenCharacter); 
NSData *dataCharacter = [brokenCharacter dataUsingEncoding:NSUTF16BigEndianStringEncoding]; 
brokenCharacter = [NSString stringWithUTF8String:[dataCharacter bytes]]; 
NSLog(@"after: %@", brokenCharacter); 
+0

Я пробовал все опции для dataUsingEncoding :, но ничего не декодировало, что один символ в порядке .. он выплюнул что-то вроде/& # de? $ ... Поэтому я думаю, что мне нужно посмотреть на серверную сторону. Я не знаю, почему этот сервер отправляет этот один символ сломанным, а все остальные данные прекрасны. Но спасибо за ваш ответ. –

Смежные вопросы