gpt4 book ai didi

objective-c - Objective-C 中的 NSData 到 NSString

转载 作者:行者123 更新时间:2023-12-04 06:24:09 25 4
gpt4 key购买 nike

我正在将 NSData 格式的 APN 设备 token 转换为 NSString,但我是一些特殊字符,

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

NSLog(@"Device Token 111 : %@", deviceToken);

NSString *deviceStr = [[NSString alloc] initWithData:deviceToken encoding:NSUTF8StringEncoding];
NSLog(@"Device Token : %@", deviceStr);
[deviceStr release];
}

Device Token 111 : <d8b62879 48de8f9f 90507519 da1d39cf 1b700f7f 022dcaf4 7532a8b7 a6f9afe4>
Device Token : ض(yHÞPuÚ9Ïep-Êôu2¨·¦ù¯ä

我什至尝试过使用 NSASCIIStringEncoding。
我究竟做错了什么 ?

最佳答案

尝试使用以下方法将 [deviceToken bytes] 作为第一个参数。

const static char hexchar[] = "0123456789ABCDEF";
- (NSString*) bytes2hex:(const char* ) buffer length:(int)buf_len {
size_t i;
char *p;
int len = (buf_len * 2) + 1;
p = malloc(len);
for (i = 0; i < buf_len; i++) {
p[i * 2] = hexchar[(unsigned char)buffer[i] >> 4 & 0xf];
p[i * 2 + 1] = hexchar[((unsigned char)buffer[i] ) & 0xf];
}
p[i * 2] = '\0';
NSString * result = [NSString stringWithCString:p encoding:NSUTF8StringEncoding];
free(p);
return result;
}

关于objective-c - Objective-C 中的 NSData 到 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6215438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com