美文网首页
iOS和蓝牙交互的一些进制转换

iOS和蓝牙交互的一些进制转换

作者: NAN先生的喵 | 来源:发表于2018-09-12 10:39 被阅读0次

因为项目是基于蓝牙的硬件设备,所以会有一些指令的编写是和16进制相关的,所以这里就总结一些方便快捷的16进制和10进制相互转换的方式。

1、10进制转换16进制

10进制转换16进制相当简单,其实不用去专门写10 = A, 11 = B...这种,只需要:


NSString *hexString = [[NSString alloc] initWithFormat:@"%X", transformStr]];

NSLog(@"%@", hexString);

是不是非常方便,%x和%X就是以16进制输出。

2、16进制转换10进制

16进制转换10的方式其实网上也蛮多的,我这里举例两种比较简单方便代码量少的

第1种:

用NSScanner 扫描字符串


// 16进制转换10进制
- (NSString *)hexTransformToDecimal:(NSString *)hexString
{
    unsigned int anInt;
    NSScanner *scanner = [[NSScanner alloc] initWithString:hexString];
    [scanner scanHexInt:&anInt];
    NSNumber *number = [NSNumber numberWithInt:anInt];
    NSLog(@"十进制数为:%@", number.stringValue);
    return number.stringValue;
}

第2种

用C语言的strtol函数, 代码量更少


// 16进制转10进制
- (NSString *)hexTransformToDecimal:(NSString *)hexString
{
    constchar*str = [hexStringUTF8String];
    long number = strtol(str, 0, 16);
    NSLog(@"十进制数为:%ld", number);
    return [NSString stringWithFormat:@"%ld", number];
}

可以将方法用category进行管理,这样更方便使用~

相关文章

  • 我的第一个硬件联调app 资料

    iOS蓝牙中的进制转换,数据格式转换 最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理...

  • iOS和蓝牙交互的一些进制转换

    因为项目是基于蓝牙的硬件设备,所以会有一些指令的编写是和16进制相关的,所以这里就总结一些方便快捷的16进制和10...

  • iOS蓝牙中的进制转换

    最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习...

  • 无标题文章

    在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制...

  • 无标题文章

    在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习惯的计数方式是10进制...

  • 蓝牙中相关的进制转换

    最近在忙一个蓝牙项目,在处理蓝牙数据的时候,经常遇到进制之间的转换,蓝牙处理的是16进制(NSData),而我们习...

  • iOS开发之蓝牙——进制转换

    积土成山,风雨兴焉;积水成渊,蛟龙生焉。 前言 我做iOS蓝牙开发这方面也有近一年时间,从开始的一窍不通到现在能流...

  • 蓝牙开发

    蓝牙开发使用CoreBluetooth框架实现两个iOS设备、iOS设备与非iOS蓝牙设备的交互。要注意的一点是目...

  • iOS 蓝牙特技

    常用iOS 蓝牙 系统框架:CoreBlueTooth 简介: 可用于第三方蓝牙设备交互,设备必须支持蓝牙4.0 ...

  • 5-16 iOS 十六进制转二进制

    项目中需要用到进制转换的知识, 参考了【iOS 开发】二进制、十进制、十六进制相互转换的方法本来很happy ,一...

网友评论

      本文标题:iOS和蓝牙交互的一些进制转换

      本文链接:https://www.haomeiwen.com/subject/nxnmgftx.html