Как преобразовать NSString в HEX String в Objective-C? - PullRequest
1 голос
/ 13 февраля 2012

У меня есть строка NSString со строкой типа "привет".

Теперь я хочу преобразовать строку в другой объект NSString, который показывает шестнадцатеричную строку. Как это сделать?

1 Ответ

6 голосов
/ 13 февраля 2012

Хмм - кроме очевидного, которое можно найти в другом месте - как насчет чего-то вроде:

    NSString * str = @"Hello World";

    NSString * hexStr = [NSString stringWithFormat:@"%@",
                         [NSData dataWithBytes:[str cStringUsingEncoding:NSUTF8StringEncoding] 
                                        length:strlen([str cStringUsingEncoding:NSUTF8StringEncoding])]];

    for(NSString * toRemove in [NSArray arrayWithObjects:@"<", @">", @" ", nil]) 
        hexStr = [hexStr stringByReplacingOccurrencesOfString:toRemove withString:@""];

    NSLog(@"%@", hexStr);

, который должен давать вывод типа

    48656c6c6f20576f726c64

Оптимизация этого оставлена ​​какупражнение для читателя :):)

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