Как я могу преобразовать шестнадцатеричную строку в шестнадцатеричный массив? - PullRequest
0 голосов
/ 07 февраля 2012

Например:
У меня есть строка: hexInString = @"0123456789abcdef", и я хочу преобразовать ее в шестнадцатеричный массив, например:

{01, 23, 45, 67, 89, ab, cd, ef}

или:

{0123, 4567, 89ab, cdef}

Я пытался сделать так, но не получилось с результатом десятичного массива:

+ (NSMutableArray *)generateHexArrayFrom:(NSString *)hexInString
{
  NSMutableArray * hexArray = [[NSMutableArray alloc] init];
  int hexStringSize = sizeof(uint_fast32_t) / 2;

  for (int x = 0; x <= [hexInString length] - hexStringSize; x += hexStringSize) {
    NSScanner * scanner = [[NSScanner alloc] initWithString:[hexInString substringWithRange:NSMakeRange(x, hexStringSize)]];
    uint_fast32_t hex;
    [scanner scanHexInt:&hex];
    [hexArray addObject:[NSNumber numberWithInt:hex]];
  }

  return [hexArray autorelease];
}

Как я могу добавить шестнадцатеричное значение к NSMutableArray?Или есть тип данных для его хранения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...