2017-05-08 5 views
-1

Ich habe ein String-Variable in iOS und ich mag, dass zu einem Zeichen-Array konvertieren und dann zu einem Hex-Bytes wie 0xD6, 0xD6 usw.Convert String in Byte-Array in iOS

Es wird großartig sein, wenn es ist eine Bibliothek, in Objective-C, die ich für dieses

+0

Welche Codierung wollen Sie die Bytes? Und haben Sie sich die Dokumentation zu 'NSString' angesehen? Es gibt viele Methoden zur Verfügung, je nachdem, was Sie eigentlich versuchen zu bekommen. Bitte [bearbeiten] Sie Ihre Frage mit einem klaren Beispiel, was Sie genau haben und was Sie wollen. – rmaddy

Antwort

0

Antwort ist hier kann sein können:

Zeichenfolge Zeichen:

NSString *s = @"Some string"; 
const char *c = [s UTF8String]; 

Zeichen zu hex:

- (NSData *)dataFromHexString { 
    const char *chars = [self UTF8String]; 
    int i = 0, len = self.length; 

    NSMutableData *data = [NSMutableData dataWithCapacity:len/2]; 
    char byteChars[3] = {'\0','\0','\0'}; 
    unsigned long wholeByte; 

    while (i < len) { 
     byteChars[0] = chars[i++]; 
     byteChars[1] = chars[i++]; 
     wholeByte = strtoul(byteChars, NULL, 16); 
     [data appendBytes:&wholeByte length:1]; 
    } 

    return data; 
} 

Referenz: NSString (hex) to bytes

1

swift 3

string to byte: 

let strChar = "A" 
let data1 = [UInt8](self.strChar.utf8) 
+0

Bitte fügen Sie eine Beschreibung hinzu, anstatt nur einen Block Code zu geben. –

+0

Korrektur zu dem oben genannten: 'lass data1 = [UInt8] (strChar.utf8)' –

+0

@ScottMcMillin Danke für suggest. –