-2

私のアプリケーションでは、NSStringHexStringに変換しています。しかし、常に固定サイズ (16 バイト) の 16 進文字列が必要です。たとえば、16 進文字列の長さが 15 バイトの場合、16 バイトにしたいのです。16進文字列の先頭にゼロを追加できることはわかっていますが、それを追加する方法は、NSStringに変換し直すときに「0」を追加するだけでは機能しないためです。

4

1 に答える 1

1

このコードを試すことができます....

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

これがお役に立てば幸いです。幸せなコーディング。

于 2012-11-22T06:17:05.560 に答える