16 進数値に変換する必要がある char 配列があります
char* arrrr =[self mountLVparams:NULL :c :code_ward_arr];
int size =strlen(arrrr);
私はこれを試していますが、これは起こりません
NSData* data = [NSData dataWithBytes:arrrr length:sizeof(sizeof(unsigned char)*size)];
16 進数値に変換する必要がある char 配列があります
char* arrrr =[self mountLVparams:NULL :c :code_ward_arr];
int size =strlen(arrrr);
私はこれを試していますが、これは起こりません
NSData* data = [NSData dataWithBytes:arrrr length:sizeof(sizeof(unsigned char)*size)];
これを試して:
NSString *inp = [NSString stringWithString:@"MmMmMm"];
char star = [inp characterAtIndex:3];
NSString *string = [NSString stringWithFormat:@"char:%c andHex:%x",[inp characterAtIndex:3],star];
NSLog(@"%@",string);
出力は"%@"
通常の文字列です。文字列では、char の 16 進値を受け取ります。
char:m andHex:6d
配列を使用すると、ループで実行する必要があります
値を 16 進数に「変換」しません。16 進数は、同じ数値を数えたり表示したりする別の方法です。
if (0xFF==255)
{
NSLog(@"255 equals 0xFF");
}
次に、バイト配列を int に変換し、表示して int を 16 進文字列としてフォーマットする以下のコードを参照してください。
-(void) convertData: (unsigned char*) data
{
int numBytes = sizeof(int);
//convert array of bytes to NSData*
NSData* binaryData = [[NSData alloc] initWithBytes: (void*) data length: numBytes];
//read value of number stored in data, presuming it is an integer
int number = *((int*) data);
//format number as a hex string
NSString* hexString = [NSString stringWithFormat:@"%X",number];
}