Я создаю пакет данных, который нужно отправить через NSStream на сервер. Я пытаюсь отделить две части данных с помощью «§» (код ascii 167). Это путь построен сервер, так что мне нужно, чтобы попытаться остаться в пределах этих границ ...NSStream, UTF8String & NSString ... Messy Conversion
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
... строка Seperator стала два в длину, а последняя буква становится обрезаны из команды. Я считаю, что это стало причиной преобразования UTF8.
Может ли кто-нибудь пролить свет на это для меня?
Любая помощь была бы принята с благодарностью!
«'§' (ascii code 167)« Нет такой вещи, как код ascii 167. ASCII по определению определяет только 128 символов (т. Е. Доходит до 127). Ваш персонаж может быть 167 в некоторой кодировке, такой как Latin-1. – user102008