Цель C - конвертировать char [] в NSString в шестнадцатеричном формате - PullRequest
4 голосов
/ 11 июля 2011

У меня проблема, мне нужно преобразовать char [] в строку, шестнадцатеричный формат

Пример

Nsstring * result;
char[4]={0x01,0x02,0x03,0x04};

///    convert  --   char[] -> Nsstring in Hex format

Nslog(@"%@",result);

Ожидаемый результат: "01020304"

Спасибо

Ответы [ 2 ]

9 голосов
/ 11 июля 2011

попробуйте это:

NSMutableString * result = [[NSMutableString alloc] init];
char cstring[4]={0x01,0x02,0x03,0x04};
///    convert  --   char[] -> Nsstring in Hex format
int i;
for (i=0; i<4; i++) {
    [result appendString:[NSString stringWithFormat:@"%02x",cstring[i]]];
}

NSLog(@"%@",result);
[result release];
3 голосов
/ 11 июля 2011

Форматтер "% 02x" будет отображать отдельный символ в виде 2 цифр шестнадцатеричного числа с нулем. Просто зациклите ваш массив и создайте строку с ними.

...