如何在iPhone开发中将字符串转换为十六进制



我是iPhone开发的新手,我想将字符串转换为十六进制格式。

例如,00A400024F01 0x00,0xA4,0x00,0x02,0x4F,0x01我想我应该从划分字符串开始,然后转换分组值。我不知道该怎么做。

你刚刚从这个堆栈溢出问题中找到了答案:-

如何将 NSString 转换为十六进制值

+ (NSString *) stringToHex:(NSString *)str
    {   
        NSUInteger len = [str length];
        unichar *chars = malloc(len * sizeof(unichar));
        [str getCharacters:chars];
        NSMutableString *hexString = [[NSMutableString alloc] init];
        for(NSUInteger i = 0; i < len; i++ )
        {
            // [hexString [NSString stringWithFormat:@"%02x", chars[i]]]; /*previous input*/
            [hexString appendFormat:@"%02x", chars[i]]; /*EDITED PER COMMENT BELOW*/
        }
        free(chars);
        return [hexString autorelease];
    }

更新

您可以使用以下方法将一个刺分到两个字符串上:-

NSString * mystring = @"Hello,How are you";// suppos your string like that
NSArray * array = [mystring componentsSeparatedByString:@","];
NSString * str1 = [array objectAtIndex:0]; //Hello
NSString * str2 = [array objectAtIndex:1]; //How are you

如果你想把两个字符串合并成一个字符串,比如:-

NSString *str1=@"hi Sweet Lady";
NSString *str2=@"How are you";
NSString *mainstr=[NSString stringWithFormat:@"%@ %@",str1,str2];

输出是 ==== 嗨,甜美的女士你好吗

最新更新