我会转换的NSString为unsigned char []
NSString *myString = @"0x10 0x1c 0x37 0x00"; //Aquired reading text file using NSString methods..
到
unsigned char convertedfrommyString[] = { 0x10, 0x1c, 0x37, 0x00 };
我的目标是aquiring他们,然后使用此代码将其交换:
unsigned char convertedfrommyString[] = { 0x10, 0x1c, 0x37, 0x00 };
int data = *((int *) convertedfromString);
NSLog(@"log = %08x", data);
输出应该是:
log = 00371c10
任何帮助?
编辑
无论从一月巴蒂斯特尤尼斯和Sven我发现的方式来理解我的问题和与此代码解决:
NSString *myString = [[@"0x10 0x1c 0x37 0x00" stringByReplacingOccurrencesOfString:@"0x" withString:@""] stringByReplacingOccurrencesOfString:@" " withString:@""];
unsigned result = 0;
NSScanner *scanner = [NSScanner scannerWithString:myString];
[scanner scanHexInt:&result];
int reverse = NSSwapInt(result);
NSLog(@"scanner: %8u", result);
NSLog(@"bytes:%08x", result);
NSLog(@"reverse:%08x (that is what i need!)", reverse);
真行! 但我能接受两个答案吗?
like * myString = @“101c3700”然后呢? :) – Mike97 2014-12-02 18:39:46
没有使用'scannerWithString','scanUpToString:@“”intoString:aNumberString'构造扫描器,然后用另一个扫描器和'scanNexInt:@ myInt'将'aNumberString'变量转换为int。 – 2014-12-02 18:48:20
感谢您回答我。我找到了从你的建议中做出我需要的方法,但也从Sven的回答中... – Mike97 2014-12-02 19:22:34