возврат каретки для кодирования - PullRequest
0 голосов
/ 20 января 2012

Я пытаюсь отправить закодированное сообщение 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];  

}

в настоящее время это выводит это:

строка <68333233 6e616d65 20676574 5c72> wtf

, который должен быть

строка <68333233 6e616d65 20676574 0d> wtf

Просто / r сделал новую строку, следовательно, символы wtf после данных в nslog

1 Ответ

1 голос
/ 20 января 2012

У вас слишком много обратных слешей. Попробуйте это:

[string appendString:@"\r"]; 

Кроме того, ваше создание testData совершенно неверно. При создании testData передается указатель на объект NSData в качестве параметра "bytes", а размер указателя передается в NSData в качестве параметра "length". Вы должны просто сделать это:

NSData *testData = [string dataUsingEncoding:NSASCIIStringEncoding];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...