Как разбить текстовую строку на две буквенные порции и преобразовать эти порции в четырехзначные числа в Objective-C? - PullRequest
0 голосов
/ 15 апреля 2011

Я хочу сделать простую программу для своего класса теории чисел. Мы учимся шифрованию.

Основное шифрование, которое я хочу продемонстрировать, продемонстрировано в следующем примере:

Возьмите фразу "TAKE CARE"

как

TA К.Е. -С Арканзас E-

где TA переводится в 2001, потому что T - это 20-я буква в алфавите, а A - первая.

1 Ответ

1 голос
/ 15 апреля 2011

Ну, так как вы, похоже, ограничиваете себя ASCII, тогда у вас все будет в порядке, используя -UTF8String строки:

NSString *source = @"TAKE CARE";
source = [source lowercaseString]; //normalize the capitalization
const char *characters = [source UTF8String];
for (NSUInteger i = 0; i < [source length]; ++i) {
  const char character = characters[i];
  if (character >= 'a' && character <= 'z') {
    int positionInAlphabet = character - 'a' + 1; // this means "a" is "1"
    NSLog(@"%c = %d", character, positionInAlphabet);
  } else {
    NSLog(@"non-letter: %c", character);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...