私はiPhone開発に不慣れで、文字列を16進形式に変換したいと思っています。
たとえば、文字列を分割してから、グループ化された値を変換する必要がある00A400024F01
と0x00,0xA4,0x00,0x02,0x4F,0x01
思います。どうすればいいのかわかりません。
uはこのstackoverflowの質問から答えを見つけました:-
+ (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お元気ですか