16进制

C语言版的16进制与字符串互转函数

匿名 (未验证) 提交于 2019-12-02 22:56:40
原文地址为: C语言版的16进制与字符串互转函数 /* // C prototype : void StrToHex(BYTE *pbDest, BYTE *pbSrc, int nLen) // parameter(s): [OUT] pbDest - 输出缓冲区 // [IN] pbSrc - 字符串 // [IN] nLen - 16进制数的字节数(字符串的长度/2) // return value: // remarks : 将字符串转化为16进制数 */ void StrToHex(BYTE *pbDest, BYTE *pbSrc, int nLen) { char h1,h2; BYTE s1,s2; int i; for (i=0; i<nLen; i++) { h1 = pbSrc[2*i]; h2 = pbSrc[2*i+1]; s1 = toupper(h1) - 0x30; if (s1 > 9) s1 -= 7; s2 = toupper(h2) - 0x30; if (s2 > 9) s2 -= 7; pbDest[i] = s1*16 + s2; } } /* // C prototype : void HexToStr(BYTE *pbDest, BYTE *pbSrc, int nLen) // parameter(s): [OUT] pbDest

C# 2进制、8进制、10进制、16进制...各种进制间的转换(一) convert 类中的方法

匿名 (未验证) 提交于 2019-12-02 22:06:11
    常见的进制方式,主要有二进制,八进制,十进制和十六进制,通用的转换方式是把非十进制的数据类型转换成十进制的,然后再转换成其他类型。 一 、Convert 类中的转换方法   把不同进制数值的字符串转换为数字(十进制) Convert.ToInt32(”100111101〃, 2); //二进制数 100111101 转成十进制 Convert.ToInt32(”76〃, 8); //八进数 76 制转成十进制 Convert.ToInt32(”FF”, 16); // 16进数 FF 制转换成十进制 2、Convert.ToString(int value, int toBase);   可以把一个数字(十进制)转换为不同进制数值的字符串格式, Convert.ToString(69, 2); //十进制数 69 转二进制 Convert.ToString(69, 8); //十进制数 69 转八进制 Convert.ToString(69, 16);//十进制数 69 转十六进制 进制转换的入口函数: /// <summary> /// 进制转换 /// </summary> /// <param name="input"></param> /// <param name="fromType">原来的进制格式</param> /// <param name="toType

C# 2进制、8进制、10进制、16进制...各种进制间的转换(二)

匿名 (未验证) 提交于 2019-12-02 22:06:11
/// <summary> /// 十进制转换为二进制 /// </summary> /// <param name="x"></param> /// <returns></returns> public static string DecToBin(string x) { string z = null; int X = Convert.ToInt32(x); int i = 0; long a, b = 0; while (X > 0) { a = X%2; X = X/2; b = b + a*Pow(10, i); i++; } z = Convert.ToString(b); return z; } /// <summary> /// 16进制转ASCII码 /// </summary> /// <param name="hexString"></param> /// <returns></returns> public static string HexToAscii(string hexString) { StringBuilder sb = new StringBuilder(); for (int i = 0; i <= hexString.Length - 2; i += 2) { sb.Append( Convert.ToString( Convert

16进制字符与字符串互相转换

我的未来我决定 提交于 2019-12-01 15:32:14
/// <summary> /// 字符串转换为16进制字符 /// </summary> /// <param name="s"></param> /// <param name="encode"></param> /// <returns></returns> private static string StringToHexString(string s, Encoding encode) { byte[] b = encode.GetBytes(s);//按照指定编码将string编程字节数组 string result = string.Empty; for (int i = 0; i < b.Length; i++)//逐字节变为16进制字符 { result += Convert.ToString(b[i], 16); } return result; } /// <summary> /// 16进制字符转换为字符串 /// </summary> /// <param name="hs"></param> /// <param name="encode"></param> /// <returns></returns> private static string HexStringToString(string hs, Encoding encode) {

字符串与16进制互转

≯℡__Kan透↙ 提交于 2019-12-01 04:28:21
字符串转16进制 function strToHexCharCode(str) {   if(str === "")     return "";   var hexCharCode = [];   hexCharCode.push("0x");   for(var i = 0; i < str.length; i++) {     hexCharCode.push((str.charCodeAt(i)).toString(16));   }   return hexCharCode.join(""); } 16进制转字符串 function hexCharCodeToStr(hexCharCodeStr) {   var trimedStr = hexCharCodeStr.trim();   var rawStr =   trimedStr.substr(0,2).toLowerCase() === "0x"   ?   trimedStr.substr(2)   :   trimedStr;   var len = rawStr.length;   if(len % 2 !== 0) {     alert("Illegal Format ASCII Code!");     return "";   }   var curCharCode;   var resultStr

golang1.13中重要的新特新

筅森魡賤 提交于 2019-11-30 15:11:36
本文索引 语言变化 数字字面量 越界索引报错的完善 工具链改进 GOPROXY GOSUMDB GOPRIVATE 标准库的新功能 判断变量是否为0值 错误处理的革新 Unwrap Is As golang1.13发布已经有一个月了,本文将会列举其中几个较为重要的特性。我们将会从语言变化、库变化以及工具链的改进这三方面逐个介绍新版本中引入的新特性。 语言变化 go团队一直承诺1.x版本的向前兼容,所以虽然1.13作为第一个开始向go2过渡的版本,其引入的语言变化是极少的,主要只有这两点:更多的数字字面量和改进的panic信息。 数字字面量 数字字面量是大家再熟悉不过的东西了,比如 100 , 0.99 , 1. 等。 然而奇怪的是,1.13之前的golang仅支持10进制和16进制的字面量,而在其它语言中广泛支持的二进制和八进制却不受支持。例如下面的代码是无法编译的: fmt.Println(0b101) fmt.Println(0o10) 在go1.13中上述字面量语法已经被支持了你可以通过 0b 或 0B 前缀来表明一个二进制数字的字面量,以及用 0o 和 0O 来表明八进制字面量。值得注意的是虽然两种写法都可以,但是gofmt默认会全部转换为小写,所以我更推荐使用 0b 和 0o 使你的代码风格尽量统一。 数字字面量的另一个变化就是引入了16进制浮点数的支持。

16进制串转数值数组Hexstr2Array

点点圈 提交于 2019-11-30 00:24:17
#define UNICODE #define _UNICODE #include <stdio.h> #include <windows.h> #include <tchar.h> bool IsHexChar(TCHAR c) { if( _T('a') <= c && c <= _T('f') || _T('A') <= c && c <= _T('F') || _T('0') <= c && c <= _T('9') ) return true; else return false; } void PrintfArray(long *lArray,int len) { for(int j=0;j<len;++j) { _tprintf(L"[%02d]:%8X \t",j,lArray[j]); if(j%6==5) _tprintf(L"\n"); } } int HexStr2Array( TCHAR *lpszHexBuffer, long *lArray ) { //第一次传lArray=NULL可取得字符串中包含十六进制数值个数 TCHAR *pStart=0,*pEnd=0; int TotalArrayItem=0; pStart=lpszHexBuffer; int len=_tcslen(lpszHexBuffer); // printf(

google浏览器下开发UHF超高频读写器

℡╲_俬逩灬. 提交于 2019-11-28 19:29:17
在google浏览器下采用js脚本开发UHF超高频读写器, API接口有如下所示: .1、UHF读卡器寻卡,符合18000-6C,G2的卡和标签 G2_Inventory(isEPC) G2_Inventory方法通过超高频读卡器YW-602U来寻卡,目前只支持单张卡片。 参数:isEPC:是否读取EPC,isEPC=0,返回卡片的EPC。isEPC=1返回卡片的TID 回调函数返回结果: FunctionID=23, Result:数字,函数执行后的返回值, UID:自定义的序号, CardNo:根据参数返回的EPC或者TID strData:与CardNo相同 ValData:无 3.2、读取UHF标签的内存区域 G2_Read(memType,StartPos, ReadLength,FormatID) G2_Read方法读取UHF标签的内存。 需要的属性: KeyStringMode:表明KeyString的格式,0为16进制字符串, 1为数字字符串. KeyString:密钥字符串. 参数:memType:内存区域,0保留区,1EPC区,2TID区,3用户区 StartPos: 内存起始地址.(必须为偶数) ReadLength:要读取的字节长度.(必须为偶数) FormatID: 数据返回的格式,0为16进制字符串,1为普通字符串. 回调函数返回结果:

(串口通信编程) 开源串口调试助手Common (Com Monitor)

落爺英雄遲暮 提交于 2019-11-28 17:31:41
   最新的文档见这里: http://blog.twofei.com/566/   我写的串口调试助手程序以及源代码.    警告: 请勿将本软件 源代码用于任何商业用途。   其实吧, 我写的这个串口软件绝对比网上流传的一些串口调试软件好用很多, 对于软件,我本身并没有作   太多推广, 一些功能我由于懒也没有文档化; 如果您正在使用, 也觉得我说得没错, 还望您帮忙推广一下. 感激! 本程序最近正在使用C++完全重构, github上面的源代码无法通过编译~~   敬请期待最新版本! 微云你就一坑货, 说了的链接永久有效呢? 源代码: https://github.com/movsb/common.git    声明:本软件为开源软件,绝对不包含任何对系统不利的代码,对于360的那种行为,我不想说什么.   软件界面:       ------------------------------------------------------------------------------------------------------------------------- 说明: 更新信息可能不会再更新到这里, 请到 GitHub 上面查看.   更新: 2014-07-07: ①优化:接收数据时,如果最后一个字符是'\r'或'\n',则会在一定时间内等待接收所有'\r','