文档章节

oc 16进制字符串与10进制的转换 两行代码搞定

r
 rshengwudi
发布于 2016/03/01 22:37
字数 518
阅读 84
收藏 0
点赞 1
评论 0

    下面是一个帐号的转换,需要给渔船设备传递16进制的字符串,之后经设备进行北斗与服务间的通信,下面是转换的方式:

NSLog(@"%x",50038);
2016-03-01 22:16:58.861 testStr[3855:369016] 12a401927

因为需要,整好必须是4个子节,然后16进制位8位,所以可以用以下方法进行转换

NSLog(@"%.8x",50038);
2016-03-01 22:22:27.647 testStr[3905:374086] 0000c376

这样的对比就比较明显了,.8x表示不足8位的在前面补0

反之需要对16进制转成10进制进行处理,也很简单,当初用了各种方法,比如单个截取然后转乘100进制,效率低下且容易出错,然而明明有更好的方法可以解决的,下面给出方法

NSLog(@"%ld",strtoul([@"0000c376" UTF8String],0, 16));
2016-03-01 22:29:57.755 testStr[3978:380678] 50038

原则上16进制转成10进制调用了c语言的函数,具体以下,见下--

strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时会根据情况选择用哪种进制:如果第一个字符是'0',就判断第二字符如果是‘x’则用16进制,否则用8进制;第一个字符不是‘0’,则用10进制。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

© 著作权归作者所有

共有 人打赏支持
r
粉丝 4
博文 6
码字总数 851
作品 0
宁波
[编程题]进制转换

1、题目内容 [编程题]进制转换 2、题目解析 方法1:将十六进制的数值字符串转换成十进制字符串,用Integer类的 public static int parseInt(String s,int radix) throws NumberFormatExcept...

笨拙的小Q ⋅ 2016/04/22 ⋅ 0

strtol函數的用法(进制转换)

相关函数: atof, atoi, atol, strtod, strtoul 表头文件: #include <stdlib.h> 定义函数: long int strtol(const char nptr, char *endptr, int base) 函数说明: strtol()会将参数nptr字符串......

電泡泡 ⋅ 2012/10/10 ⋅ 0

Java MD5加密原理分析及代码示例

由于MD5的不可逆,所以有的网站会把密码转换MD5,然后存储。但是这种算法并不是100%严密的,参考MD5 - 维基百科 下面就写写MD5在Java中的使用。 主要分为四步 定义一个char数组,存储16进制的...

Mr_river ⋅ 2015/11/27 ⋅ 1

PHP实现IP–数字互相转换

PHP实现IP–数字互相转换 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org......

蜗牛奔跑 ⋅ 2015/09/09 ⋅ 0

将IP地址与Int转换

有时会碰到这样的需求,需要将IP地址转换为整数存放,在读取时再转换为IP地址格式 1、将IP字符串转换为整型保存 代码如下: string address; 运行结果: C0-A8-0A-11 是IPArr转换为string类型...

鱼煎 ⋅ 2016/12/01 ⋅ 0

Xcode调试命令大全 (LLDB Cheatsheet)

这是一个LLDB的常用命令表, 涵盖了平时Debug时用到的所有命令,在开发中能够帮助你更快的定位和调试bug Getting help(获取帮助) 列出所有的命令和别名 获取命令的帮助文档 获取子命令的帮助...

SSBun ⋅ 2017/11/16 ⋅ 0

Java HexString-字节数组与十六进制字符数组转换

Java HexString-字节数组与十六进制字符数组转换 Java中byte(字节)用二进制表示占用8 bit (位),而我们知道16进制的每个字符需要用4位二进制位来表示,所以我们就可以把每个byte转换成两...

秋风醉了 ⋅ 2015/04/07 ⋅ 0

C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换

在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换: Convert.ToInt32(string value, int fromBa...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

2进制、8进制、10进制、16进制...各种进制间的轻松转换(c#)

在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换: Convert.ToInt32(string value, int fromBa...

燃灯 ⋅ 2011/04/21 ⋅ 0

【PL/SQL】IP与数字互转

--查看过程、函数视图 dbasource usersource all_source --删除存储过程 drop procedure SP_TMP; drop function fun_tmp; ---函数 to_char:转换数据这字符串,也可以把10进制转换为16进制(...

hxw168 ⋅ 2014/09/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 42分钟前 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 49分钟前 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 56分钟前 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

容器之查看minikue的environment——minikube的环境信息

执行如下命令 mjduan@mjduandeMacBook-Pro:~/Docker % minikube docker-envexport DOCKER_TLS_VERIFY="1"export DOCKER_HOST="tcp://192.168.99.100:2376"export DOCKER_CERT_PATH="/U......

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

mysql远程连接不上

设置了root所有hosts远程登录,可是远程登录还是失败,原因可能如下: 登录本地数据库 mysql -uroot -p123456 查询用户表 mysql> select user,host,password from mysql.user; 删除密码为空的...

冰公子 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部