2014-12-22 3 views

ответ

2

Что вы добавляете, это не байты, это строка "0x10x10x0". Первые три символа добавляются - в частности, '0', 'x' и '1'.

Чтобы добавить три байта, создать массив байт, и добавить его:

unsigned char suffixBytes[] = {1, 1, 0}; 
[data appendBytes:suffixBytes length:3]; 

В одном конкретном случае, когда все байты представляют собой коды символов печатаемых символов, вы можете использовать строковый литерал вместо:

[data appendBytes:"110" length:3]; 

Это добавит коды символов '1', '1' и '0' к данным. Предполагая кодировку ASCII, значения будут {0x31, 0x31, 0x30}.

+0

NSMutableData * lobjdata = [[NSMutableData alloc] init]; unsigned char suffixBytes [] = {1, 1, 0}; [lobjdata appendBytes: suffixBytes length: 3]; NSLog (@ "bytes ->% @", lobjdata); –

+0

@UA_PPS ОК. Так что печатается, когда вы это делаете? – dasblinkenlight

+0

байт -><010100> –

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