iOS中16进制转10进制
来源:互联网 发布:mac电源适配器 编辑:程序博客网 时间:2024/05/16 09:20
/// 将十六进制的字符串转化为NSData
- (NSData )transStrHexToData:(NSString )strHex
{
/// bytes索引
NSUInteger j = 0;
NSInteger len = strHex.length;if (len % 2 == 1) { /// 若不能被2整除则说明16进制的字符串不满足图片图。特此说明,假如只是单纯的把十六进制转换为NSData就把这个if干掉即可, return nil;}/// 动态分配内存Byte *bytes = (Byte *)malloc((len / 2 + 1) * sizeof(Byte));/// 初始化内存 其中memset的作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法memset(bytes, '\0', (len / 2 + 1) * sizeof(Byte));/// for循环里面其实就是把16进制的字符串转化为字节数组的过程for (NSUInteger i = 0; i < strHex.length; i += 2) { /// 一字节byte是8位(比特)bit 一位就代表一个0或者1(即二进制) 每8位(bit)组成一个字节(Byte) 所以每一次取2为字符组合成一个字节 其实就是2个16进制的字符其实就是8位(bit)即一个字节byte NSString *str = [strHex substringWithRange:NSMakeRange(i, 2)]; /// 将16进制字符串转化为十进制 unsigned long uint_ch = strtoul([str UTF8String], 0, 16); bytes[j] = uint_ch; /// 自增 j ++;}/// 将字节数组转化为NSDataNSData *data = [[NSData alloc] initWithBytes:bytes length:len / 2];/// 释放内存free(bytes);return data;
}
0 0
- ios中16进制转10进制
- iOS中16进制转10进制
- iOS中16进制转nsdata
- ios 10进制转16进制
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- IOS 10 中版本的判断
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- 关于 iOS 10 中 ATS 的问题
- Eclipse常用设置
- 烤氏历史第5集:小灵通漫游神州记-从贝尔实验室到非典机遇
- 数组与指针
- 烤氏历史第6集:《世通兴衰录:被遗忘的帝国》-1.时代在变
- 修改文件扩展名和文件
- iOS中16进制转10进制
- #continue
- 烤氏历史第7集:《世通兴衰录:被遗忘的帝国》-2.前朝宫阙
- html标签meta的用法
- JavaMail学习四 JavaMailAPI
- LNMP架构搭建(Linux+Nginx+MySQL+PHP)
- ORACLE--EXISTS
- 烤氏历史第8集:《世通兴衰录:被遗忘的帝国》-3.帝国盛世
- orm2 中文文档 4.2 hasMany(多对多关系)