如何在NSMutableData的末尾附加3个字节'110'

时间:2014-12-22 12:52:44

标签: objective-c iphone sockets

这是代码 - >

NSString* message = @"username,password";
NSMutableData *data = [[NSMutableData alloc] initWithData:
                       [message dataUsingEncoding:NSASCIIStringEncoding]];

[data appendBytes:"0x1""0x1""0x0"
               length:3];

我期待输出 - >用户名,password110

但没有得到这个。

1 个答案:

答案 0 :(得分: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}