iOS中NSString转换成HEX(十六进制)-NSData转换成int

摘要:
http://www.2cto.com/kf/201402/281501.html123456NSString*str=@“0xff055008”;//首先,将16作为参数告诉strtool字符串参数表示十六进制数字,然后使用0x%X转换为数字类型unsigned long=strtool([strUTF8String],0,16)//strtool如果传入的字符以“0x”开头,则第三个参数为0,

http://www.2cto.com/kf/201402/281501.html

1
2
3
4
5
6
NSString *str = @"0xff055008";
//先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型
unsigned longred = strtoul([str UTF8String],0,16);
//strtoul如果传入的字符开头是“0x”,那么第三个参数是0,也是会转为十六进制的,这样写也可以:
unsigned longred = strtoul([@"0x6587"UTF8String],0,0);
NSLog(@"转换完的数字为:%lx",red);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// 十六进制转换为普通字符串的。
+ (NSString *)stringFromHexString:(NSString *)hexString { //
  
char*myBuffer = (char*)malloc((int)[hexString length] / 2+ 1);
bzero(myBuffer, [hexString length] / 2+ 1);
for(inti = 0; i < [hexString length] - 1; i += 2) {
unsigned intanInt;
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);
returnunicodeString;
  
  
}
  
//普通字符串转换为十六进制的。
  
+ (NSString *)hexStringFromString:(NSString *)string{
NSData *myD = [string dataUsingEncoding:NSUTF8StringEncoding];
Byte *bytes = (Byte *)[myD bytes];
//下面是Byte 转换为16进制。
NSString *hexStr=@"";
for(inti=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];
}
returnhexStr;
}
1
2
3
4
5
6
//int 转data
inti = 1;
NSData *data = [NSData dataWithBytes: &i length: sizeof(i)];
//data 转int
inti;
[data getBytes: &i length: sizeof(i)];

免责声明:文章转载自《iOS中NSString转换成HEX(十六进制)-NSData转换成int》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇向github项目push代码后,Jenkins实现其自动构建详解EBS接口开发之库存事务处理采购接收--补充下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

进制转换的学习

     我们计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利于的途径,节省设备等优点,为了便于描述,又常用八、十六进制作为二进制缩写。一般计数都采用进位计数,有以下特点: (1)二进制:逢二进一        八进制:逢把进一        十六进制:逢十六进一 (2)数制转换        十进制:有十个基数:0 1...

前端实现大文件上传分片上传断点续传

总结一下大文件分片上传和断点续传的问题。因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况。http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件切片(分块),但这不是我们现在说的重点,我们要做的事是保证在网络中断后1G的文件已上传的那部分在下次网络连接时不必再重传。所以我们本地在上传的时候,要将大文件...

OC与JS的交互(iOS与H5混编)

大神总结WKWebView的坑:https://mp.weixin.qq.com/s/rhYKLIbXOsUJC_n6dt9UfA 在开发过程中,经常会出现需要iOS移动端与H5混编的使用场景。 iOS中加载html网页, 可以使用UIWebView或WKWebView. 本篇博客将介绍两种控件使用过程中如何实现OC与JS的交互。 UIWebView de...

iOS开发经验总结(上)

在iOS开发中经常需要使用的或不常用的知识点的总结,几年的收藏和积累(踩过的坑)。 一、 iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 plus 6s plus 414 *...

CTF辅助脚本

首先推荐这篇文章,网上有多次转载,这是我见过日期比较早的 CTF中那些脑洞大开的编码和加密 凯撒密码 1 flag='flag{abcdef}' 2 c='' 3 n=20 4 for i in flag: 5 if 'a' <= i <='z': 6 i=chr(((ord(i)-ord('a'))+n)%26+ord...

AFNetWorking 的简单使用

转:http://blog.csdn.net/marujunyy/article/details/18424711 由于ASIHTTPRequest 不再更新了,不能使用block感觉不太好用;最后选择了AFNetWorking,并做了进一步的封装。 需要导入的framework:CFNetwork、Security、SystemConfiguratio...