如何在Objective-C中将NSString转换为HEX String?

时间:2012-02-13 08:01:42

标签: iphone

我有一个带有“hello”字符串的NSString。

现在我想将字符串转换为另一个显示十六进制字符串的NSString对象。怎么做?

1 个答案:

答案 0 :(得分:6)

嗯 - 除了在其他地方可以找到的显而易见的东西之外 - 怎么样:

    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

优化这个是留给读者的练习:):)