iOS中NSString转换成HEX(十六进制)-NSData转换成int
2014-02-26 08:54
471 查看
NSString *str = @"0xff055008"; //先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型 unsigned long red = strtoul([str UTF8String],0,16); //strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以: unsigned long red = strtoul([@"0x6587" UTF8String],0,0); NSLog(@"转换完的数字为:%lx",red);
// 十六进制转换为普通字符串的。 + (NSString *)stringFromHexString:(NSString *)hexString { // char *myBuffer = (char *)malloc((int)[hexString length] / 2 + 1); bzero(myBuffer, [hexString length] / 2 + 1); for (int i = 0; i < [hexString length] - 1; i += 2) { unsigned int anInt; NSString * hexCharStr = [hexString substringWithRange:NSMakeRange(i, 2)]; NSScanner * scanner = [[[NSScanner alloc] initWithString:hexCharStr] autorelease]; [scanner scanHexInt:&anInt]; myBuffer[i / 2] = (char)anInt; } NSString *unicodeString = [NSString stringWithCString:myBuffer encoding:4]; 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=0;i<[myD length];i++) { NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff];///16进制数 if([newHexStr length]==1) hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr]; else hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr]; } return hexStr; }
//int 转data
int i = 1;
NSData *data = [NSData dataWithBytes: &i length: sizeof(i)];
//data 转int
int i;
[data getBytes: &i length: sizeof(i)];
相关文章推荐
- 在iOS上绘制自然的签名
- iOS项目的目录结构和开发流程
- IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- tlplayer for ios V1.1.2加密测试版本(修复1.1.1版本 for ios7播放闪退问题)
- tlplayer for ios V1.1.2加密测试版本(修复1.1.1版本 for ios7播放闪退问题)
- 学习ios笔记(一)
- IOS开发之dispatch_once创建单例
- IOS开发之property详解
- 熟悉下CGContextRef
- IOS-基础知识
- iOS应用本地化(Localizable)
- IOS应用开发-GCD编程入门
- iOS 中 点击事件响应的方法hitTest与pointInside
- 创建自己的第一个IOS应用---ToDoList
- IOS 7 Xcode 5 免IDP证书 真机调试
- 10个必需的iOS开发工具和资源
- 示例解释深拷贝和浅拷贝IOS
- IOS开发项目布局一
- IOS:NSTimer
- iOS 开发,工程中混合使用 ARC 和非ARC