1

私はiPhone開発に不慣れで、文字列を16進形式に変換したいと思っています。

たとえば、文字列を分割してから、グループ化された値を変換する必要がある00A400024F010x00,0xA4,0x00,0x02,0x4F,0x01思います。どうすればいいのかわかりません。

4

1 に答える 1

2

uはこのstackoverflowの質問から答えを見つけました:-

NSStringを16進値に変換する方法

+ (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];
    }

アップデート

以下の方法を使用して、1つの刺し傷を2つの文字列に分割できます。-

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

そして、次のように2つの文字列を1つの文字列にマージしたい場合:-

NSString *str1=@"hi Sweet Lady";
NSString *str2=@"How are you";

NSString *mainstr=[NSString stringWithFormat:@"%@ %@",str1,str2];

出力は====こんにちはSweetLadyお元気ですか

于 2012-12-10T08:38:02.373 に答える