iOS十六进制和字符串的相互转换
2024-08-31 07:14:09
转换代码,崩溃日志有些是十六进制
NSString *dictString = [dict JSONFragment];//组合成的
dictString==={"content":"Sadgfdfg","phoneno":"","email":"1049055935@qq.com"}=== // 十六进制转换为普通字符串的。
+ (NSString *)stringFromHexString:(NSString *)hexString { // char *myBuffer = (char *)malloc((int)[hexString length] / + );
bzero(myBuffer, [hexString length] / + );
for (int i = ; i < [hexString length] - ; i += ) {
unsigned int anInt;
NSString * hexCharStr = [hexString substringWithRange:NSMakeRange(i, )];
NSScanner * scanner = [[[NSScanner alloc] initWithString:hexCharStr] autorelease];
[scanner scanHexInt:&anInt];
myBuffer[i / ] = (char)anInt;
}
NSString *unicodeString = [NSString stringWithCString:myBuffer encoding:];
NSLog(@"------字符串=======%@",unicodeString);
return unicodeString; } //普通字符串转换为十六进制的。 + (NSString *)hexStringFromString:(NSString *)string{
NSData *myD = [string dataUsingEncoding:NSUTF8StringEncoding];
Byte *bytes = (Byte *)[myD bytes];
//下面是Byte 转换为16进制。
NSString *hexStr=@"";
for(int i=;i<[myD length];i++) {
NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff];///16进制数 if([newHexStr length]==) hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr]; else hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr];
}
return hexStr;
}
【编辑推荐】
链接:
最新文章
- javascript中15种原生对象类型系统综述
- MySQL Workbench使用及教程
- ajax 删除一条数据
- 利用ManualResetEvent来来控制异步调用的打印的线程的暂停和恢复(转)
- 258. Add Digits
- 设置用户sudo -s拥有root权限
- Linux系统下UDP发送和接收广播消息小例子
- python列表操作总结
- ubuntu桌面环境配置及切换
- ionic3-ng4学习见闻--(轮播图完美方案)
- 禅道Bug等级划分标准
- XamarinAndroid组件教程RecylerView动画组件使用动画(2)
- iOS - 如何得到UIImage的大小
- 微信JS-SDK说明文档【申明:来源于网络】
- tomcat使用spring-loaded实现应用热部署
- 进程锁 Lock
- flex-grow
- Typecho 调用分类文章列表
- C#编程(五十九)----------集合的性能
- JavaScript函数——闭包