将 NSString 中的文本转换为等效的 8 字节 ASCII 十六进制文本,并存储回 NSString 中



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

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

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

提前非常感谢您的智慧!

试试这个:

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);

最新更新