2

我想将 NSString 转换为@"2525"NSString @"0032003500320035"。十六进制的 8 字节 ASCII 值"2""0032",对于"5"它是"0035". 为了获得等效的c字符串,我尝试了...

const char *pinUTF8 = [pin cStringUsingEncoding:NSASCIIStringEncoding];

...但正如你所看到的,我正在为此苦苦挣扎,我知道这不会那么容易。有小费吗?

非常感谢您的智慧!

4

1 回答 1

4

试试这个:

NSString *str = @"2525";
const char *s = [str cStringUsingEncoding:NSASCIIStringEncoding];
size_t len = strlen(s);

NSMutableString *asciiCodes = [NSMutableString string];
for (int i = 0; i < len; i++) {
    [asciiCodes appendFormat:@"%04x", (int)s[i]];
}

NSLog(@"%@", asciiCodes);
于 2012-12-06T21:58:24.637 回答