Я пытаюсь преобразовать этот код Javascript:
self.userSerialEvent = function (join, value, tokens) {
var type = join.charCodeAt(0);
var rawJoin = parseInt(join.substr(1)) - 1;
var rawValue = parseInt(value);
self.SJValues[join] = value;
var payload = "\x00\x00" + String.fromCharCode(value.length + 2) + "\x12" + String.fromCharCode(rawJoin) + value;
self.sendMsg("\x05\x00" + String.fromCharCode(payload.length) + payload);
};
к объективному коду для приложения ipad.
Однако я не могу понять, как правильно сформировать это
Если я делаю массив символов, я не могу иметь переменную длину (что произойдет, когда значение будет добавлено в массив). И когда я пытаюсь использовать NSMutableArray, я не могу вставить байты, плюс моя операция отправки по сети принимает NSData, и я не могу преобразовать NSMutableArray в данные. Я также пробовал NSString, но когда я делаю:
NSString * payload = [NSString stringWithFormat:@"0000%d12%d%@",value.length+2,rawJoin,[value dataUsingEncoding:NSASCIIStringEncoding]];
Я получаю <> вокруг данных в строке. Я пытался создать набор символов и удалить «<>» из строки, но это только удалило конец один (оставив начало <там) </p>
У меня такой вопрос: как я могу сформировать массив байтов, который имеет переменную длину и может преобразовать этот массив в NSData