Я создаю пакет данных для отправки по NSStream на сервер. Я пытаюсь разделить два фрагмента данных с помощью «§» (код 167 ascii). Так устроен сервер, поэтому мне нужно постараться не выходить за эти рамки ...
unichar asciiChar = 167; //yields @"§"
[self setSepString:[NSString stringWithCharacters:&asciiChar length:1]];
sendData=[NSString stringWithFormat:@"USER User%@Pass", sepString];
NSLog(sendData);
const uint8_t *rawString=(const uint8_t *)[sendData UTF8String];
[oStream write:rawString maxLength:[sendData length]];
Таким образом, конечный результат должен выглядеть следующим образом ... и это так, когда sendData впервые создается:
USER User§Pass
однако при получении на стороне сервера это выглядит так:
//not a direct copy and paste. The 'mystery character' may not be exact
USER UserˤPas
... строка-разделитель имеет длину два, а последняя буква обрезается в команде. Я полагаю, что это вызвано преобразованием UTF8.
Может кто-нибудь пролить свет на это для меня?
Любая помощь будет принята с благодарностью!