16进制

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

别等时光非礼了梦想. 提交于 2021-02-07 22:46:50
下面是一个帐号的转换,需要给渔船设备传递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进制

JavaScript中的16进制字符(改进)

半世苍凉 提交于 2020-03-23 14:56:19
后来经过自己的测试,发现将字符转换为十六进制的方法不完善。 原始的代码: //将文字转换为16进制 function textToSix(str) { return escape(str).replace(/%/g, function () { return "\\"; }).toLowerCase(); } 改进后的: //将文字转换为16进制 function textToHex(str) { //escape对0-255以外的unicode值进行编码时输出%u****格式,例如:%u6267%u624b%u6cea%u773c //将其中的%替换成\就是十六进制的 if (typeof str == "string") { return escape(str).replace(/%/g, function () { return "\\"; }).toLowerCase(); } else { return null; } } 主要是增加了一个验证是否为字符串的验证。 在完善了这个方法之后,我又觉得是不是要改进下面这个方法: //将16进制表示为文字 function sixToText(str) { return unescape(str); } 本意是将"\unnn"之类的字符转换回文字。其实,只需看看unescape这个方法的原理(工作原理:通过找到形式为 %xx 和

javascript 16进制颜色转RGB

白昼怎懂夜的黑 提交于 2020-03-12 02:03:05
效果如图: javascript: window.onload = function () { document.getElementById("change").onclick = function () { var color = document.getElementById("color_get").value; var _R, _G, _B; if (color.length == 4) { _R = parseInt(color.substr(1,1),16); _G = parseInt(color.substr(2,1),16); _B = parseInt(color.substr(3,1),16); document.getElementById("color_txt").innerHTML = "R(" + _R * _R + ")" + "," + "G(" + _G * _G + ")" + "," + "B(" + _B * _B + ")"; } else if (color.length == 7) { _R = parseInt(color.substr(1,2),16); _G = parseInt(color.substr(3,2),16); _B = parseInt(color.substr(5,2),16); document

lua语言---浮点数转16进制

元气小坏坏 提交于 2020-03-10 09:37:06
--这个版本,经过验证 ,可把16进制,转浮点数,验证时间 2018-5-28 23:02 --[[ 0.0001 38D1B717 -0.0001 B8D1B717 178.125 43322000 20.59375 41A4C000 -1.275 BFA33332 0.125 3E000000 -0.65 BF266666 0.75 3F400000 0.5 3F000000 0.6 3F199999 0.7 3F333333 0.8 3F4CCCCC 0.9 3F666666 --]] --鍔熻兘锛氭妸4涓瓧鑺傜殑16杩涘埗锛岃浆鎹㈡垚锛屾诞鐐规暟锛屽苟鎵撳嵃鍑烘潵 function DatToFloat1(x) local temp local aa = 8388608 s = (x&0x80000000)>>31 e = (x&0x7F800000)>>23 temp = (x&0X7FFFFF)/aa --print(s, e, temp) local res = (1<<(e-127)) (1+temp) --local res = (1<<math.abs(e-127)) (1+temp) if s==1 then res = 0-res end return res end --璁$畻2 鐨?-n 娆℃柟 function pow(n) local temp

js 颜色16进制转RGB方法

纵饮孤独 提交于 2020-03-01 15:04:50
//颜色16进制转RGB方法 String.prototype.colorRgb = function(){ var sColor = this.toLowerCase(); //十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; // 如果是16进制颜色 if (sColor && reg.test(sColor)) { if (sColor.length === 4) { var sColorNew = "#"; for (var i=1; i<4; i+=1) { sColorNew += sColor.slice(i, i+1).concat(sColor.slice(i, i+1)); } sColor = sColorNew; } //处理六位的颜色值 var sColorChange = []; for (var i=1; i<7; i+=2) { sColorChange.push(parseInt("0x"+sColor.slice(i, i+2))); } return "[" + sColorChange.join(",") + ",0.6]"; } return sColor; }; 来源: https://www.cnblogs.com/Byme/p/9455709.html

将 16进制 装换为 RGB

ぐ巨炮叔叔 提交于 2020-03-01 02:38:30
很多时候都使用 #XXXXXX 这种16进制的颜色值,在ios中需要转换为 RGB /// 转换 uicolor 颜色 func strConvertColor(colorStr: String , alpha: CGFloat = 1 ) -> UIColor { // 删除字符串中的空格 var str: String = colorStr. stringByTrimmingCharactersInSet ( NSCharacterSet . whitespaceAndNewlineCharacterSet ()). uppercaseString if str. hasPrefix ( "0X" ){ // 如果是 0x 开头的,那么截取字符串,字符串从索引为 2 的位置开始,一直到末尾 let index = str. startIndex . advancedBy ( 2 ) str = str. substringFromIndex (index) } else if str. hasPrefix ( "#" ){ // 如果是 # 开头的,那么截取字符串,字符串从索引为 1 的位置开始,一直到末尾 let index = str. startIndex . advancedBy ( 1 ) str = str. substringFromIndex (index) }

jmeter测试TCP服务器/模拟发送TCP请求 设置16进制发送(转)

China☆狼群 提交于 2020-02-29 12:02:33
转载留存:http://blog.sina.com.cn/s/blog_46d0362d0102v8ii.html 性能测试需要模拟多种场景,经常受制于资源限制,没办法建立贴近实际部署环境的场景。因而需要借助一些软硬件提供的特性来模拟近似的环境。本文提到的JMeter是一种开源的模拟测试解决方案,可以通过多线程并发的方式来持续提供压力测试源。 1.下载安装 仅仅需要从apache的网站找到下载包,解压到本地文件目录即可。 http://jmeter.apache.org/download_jmeter.cgi 2.启动 解压目录中存在一个bin的目录,里面有很多批处理文件和脚本文件,window系统运行jmeter.bat即可。需要关注的是bin目录中的jmeter.properties文件,这是运行相关的配置文件. 特别是TCP Sampler configuration部分几个配置会和后面内容相关 3.建立一种类型测试 这里只描述简单的tcp测试建立步骤,因为目前支持的测试类型很多,无法一一陈述,功能细节部分可以参考JMeter文档 1)创建测试线程组 2)根据需要设定线程组参数 3)建立TCP采样 3)配置TCP采样参数 基本上一个简单的测试计划就完成了,点击运行采样,就会将文本发送出去。 4.高级功能配置 1)配置结果查看监听器 有时候需要查看线程组执行结果情况

iOS 16进制颜色的宏

时间秒杀一切 提交于 2020-02-26 10:09:24
iOS 16进制颜色的宏 // 参数格式为:0xFFFFFF 16进制 #define kColorWithRGB(rgbValue) \ [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16)) / 255.0 \ green:((float)((rgbValue & 0xFF00) >> 8)) / 255.0 \ blue :((float)(rgbValue & 0xFF)) / 255.0 alpha:1.0] kColorWithRGB(0xFF0000); 相当于 [UIColor redColor]; // 参数格式为:222,222,222 #define UIColorWithRGB(r, g, b) [UIColor colorWithRed:(r) / 255.f green:(g) / 255.f blue:(b) / 255.f alpha:1.f] 很多地方我们都使用16进制颜色,但iPhone使用的是 UIColor对象,不直接支持16进制颜色,为此,需要我们手动将16进制颜色转换为 UIColor。 - ( UIColor *)getColor:(NSString*)hexColor { unsigned int red,green,blue; NSRange range; range

NB-IoT 学习开发和应用 第四讲

假装没事ソ 提交于 2020-02-25 00:15:05
NB-IoT 学习开发和应用 第四讲 阿里云物联网平台中的CoAP协议学习和分析 CoAP协议:CoAP协议的底层协议是 UDP (比喻:打电话,单方通信,无需保持链接) 应用范围: NB-IoT、超低功耗应用、野外数据采集监控系统、远程抄表等 特点 :只能数据上报(注:在CoAP协议的定义中,非底层的UDP协议),服务器无法对数据进行下发控制指令。 CoAP协议报文(一共只有4个) 分别是: 1、CON报文(连接请求报文),给服务器发报文,并且发送完以后,服务器必须要发送ACK报文给设备端(即响应报文) 2、NON报文(发送给服务器,服务器无需回复) 3、ACK报文 (响应报文) 4、RST报文(代表数据发送错误,提醒用户重新发送正确的数据给服务区) 注:且在阿里云物联网平台中的的CoAP协议中,只支持 CON 报文的数据类型。其他数据格式或者协议,服务器均不支持。 同时,在阿里云物联网服务器中,上传的数据有两种形式(CON的两种形式) 1、设备认证报文 2、数据上传报文 CoAP协议报文的格式组成形式: Ver+T+TKL+Code+Messige ID+Token+Options+0xff(分隔字符)+Payload 拆分分析: Ver : 版本号 2bit T : 报文类型 2bit (CON : 00 NON : 01 ACK : 10 RST : 11 ) TKL :

C语言:16进制转10进制

和自甴很熟 提交于 2020-02-22 12:28:38
# include <stdio.h> # define N 50 long fun ( char * s ) { int i , t ; //t记录临时加的数 long sum = 0 ; for ( i = 0 ; s [ i ] ; i ++ ) { if ( s [ i ] >= '0' && s [ i ] <= '9' ) t = s [ i ] - '0' ; //当字符是0~9时保持原数不变 if ( s [ i ] >= 'a' && s [ i ] <= 'z' ) t = s [ i ] - 'a' + 10 ; if ( s [ i ] >= 'A' && s [ i ] <= 'Z' ) t = s [ i ] - 'A' + 10 ; sum = sum * 16 + t ; } return sum ; } int main ( ) { int m ; char s [ N ] ; //字符串与字符数组相结合的方式 printf ( "Enter 16进制数:" ) ; scanf ( "%s" , s ) ; //注意此处%s m = fun ( s ) ; printf ( "%d" , m ) ; } 来源: CSDN 作者: matchless_QYW 链接: https://blog.csdn.net/matchless_QYW