回车进行编码

时间:2012-01-19 20:16:27

标签: objective-c ipad ascii

我试图将ascii编码的消息发送到服务器。当我尝试将回车附加到字符串

时,我的问题就出现了
-(void)button2Pressed
{
    NSMutableString *mutableString = [NSMutableString stringWithString:@"h323name get"];

    [self sendStringCommand:mutableString];
}

-(void)sendStringCommand:(NSMutableString*)string
{    
    [string appendString:@"\\r"]; 

    NSLog(@"string %@ wtf",[string dataUsingEncoding:NSASCIIStringEncoding]);
    NSData * testData = [[NSData alloc]initWithBytes:[string dataUsingEncoding:NSASCIIStringEncoding] length:sizeof([string dataUsingEncoding:NSASCIIStringEncoding])];


    [socket  writeData:testData withTimeout:20 tag:1];  

}

目前这输出:

  

string< 68333233 6e616d65 20676574 5c72> WTF

应该是

  

string< 68333233 6e616d65 20676574 0d> WTF

Just plain / r做了一个新行,因此在nslog

中的数据后面有wtf字符

1 个答案:

答案 0 :(得分:1)

你有太多的反斜杠。试试这个:

[string appendString:@"\r"]; 

此外,您创建testData是完全错误的。创建testData的方法是将指向NSData对象的指针作为“bytes”参数传递,并将指针的大小作为“length”参数传递给NSData。你应该这样做:

NSData *testData = [string dataUsingEncoding:NSASCIIStringEncoding];