2016-05-18 8 views
-1

Hey, ich möchte wissen, wie eine gedruckte Daten zu konvertieren (i mit NSLog gedruckt) wie folgt aus:Wie konvertiert man gedruckte NSData wieder in NSData?

< 01000405 00000000 00000000 00000000 00000000>

Zurück zu NSData?

Ich versuchte

[NSString stringWithFormat:@"<01000405 00000000 00000000 00000000 00000000>"] dataUsingEncoding:NSUTF8StringEncoding] 

Aber es gab mir nur dieses Ergebnis:

<3c303130 30303430 32203030 30303030 30302030 30303030 30303020 30303030 30303030 20303030 30303030 303e> 

Antwort

0
NSString *command = @"72ff63cea198b3edba8f7e0c23acc345050187a0cde5a9872cbab091ab73e553"; 

command = [command stringByReplacingOccurrencesOfString:@" " withString:@""]; 
NSMutableData *commandToSend= [[NSMutableData alloc] init]; 
unsigned char whole_byte; 
char byte_chars[3] = {'\0','\0','\0'}; 
int i; 
for (i=0; i < [command length]/2; i++) { 
    byte_chars[0] = [command characterAtIndex:i*2]; 
    byte_chars[1] = [command characterAtIndex:i*2+1]; 
    whole_byte = strtol(byte_chars, NULL, 16); 
    [commandToSend appendBytes:&whole_byte length:1]; 
} 
NSLog(@"%@", commandToSend); 

von hier: Converting HEX NSString To NSData

ersetzen "<", "", „> "Verwenden Sie diese Methode:

NSString * newString = [myString stringByReplacingOccurrencesOfString:@"<" withString:@""]; 
+0

Vielen Dank, ich werde dies versuchen und Sie wissen lassen :) –

+0

Flag als Duplikat, nicht nur kopieren/fügen Sie den Code, wenn die einzige Änderung so trivial ist wie das Entfernen der "<" and ">" Zeichen. – Larme