1. private static Byte[] ConvertFrom(string strTemp)
  2. {
  3. try
  4. {
  5. if (Convert.ToBoolean(strTemp.Length & 1))//数字的二进制码最后1位是1则为奇数
  6. {
  7. strTemp = "0" + strTemp;//数位为奇数时前面补0
  8. }
  9. Byte[] aryTemp = new Byte[strTemp.Length / 2];
  10. for (int i = 0; i < (strTemp.Length / 2); i++)
  11. {
  12. aryTemp[i] = (Byte)(((strTemp[i * 2] - '0') << 4) | (strTemp[i * 2 + 1] - '0'));
  13. }
  14. return aryTemp;//高位在前
  15. }
  16. catch
  17. { return null; }
  18. }
  19. /// <summary>
  20. /// BCD码转换16进制(压缩BCD)
  21. /// </summary>
  22. /// <param name="strTemp"></param>
  23. /// <returns></returns>
  24. public static Byte[] ConvertFrom(string strTemp, int IntLen)
  25. {
  26. try
  27. {
  28. Byte[] Temp = ConvertFrom(strTemp.Trim());
  29. Byte[] return_Byte = new Byte[IntLen];
  30. if (IntLen != 0)
  31. {
  32. if (Temp.Length < IntLen)
  33. {
  34. for (int i = 0; i < IntLen - Temp.Length; i++)
  35. {
  36. return_Byte[i] = 0x00;
  37. }
  38. }
  39. Array.Copy(Temp, 0, return_Byte, IntLen - Temp.Length, Temp.Length);
  40. return return_Byte;
  41. }
  42. else
  43. {
  44. return Temp;
  45. }
  46. }
  47. catch
  48. { return null; }
  49. }
  50. /// <summary>
  51. /// 16进制转换BCD(解压BCD)
  52. /// </summary>
  53. /// <param name="AData"></param>
  54. /// <returns></returns>
  55. public static string ConvertTo(Byte[] AData)
  56. {
  57. try
  58. {
  59. StringBuilder sb = new StringBuilder(AData.Length * 2);
  60. foreach (Byte b in AData)
  61. {
  62. sb.Append(b >> 4);
  63. sb.Append(b & 0x0f);
  64. }
  65. return sb.ToString();
  66. }
  67. catch { return null; }
  68. }

C#下16进制和BCD码转换代码的更多相关文章

  1. 2进制,16进制,BCD,ascii,序列化对象相互转换

    public final static char[] BToA = "0123456789abcdef".toCharArray() ; 1.16进制字符串转为字节数组 /** * ...

  2. 太有用了,所以转:Delphi下16进制位图数据转位图

    如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下: object Image1: TImage Le ...

  3. Delphi下16进制位图数据转位图

    如果我们在Form中拖入一个Image控件,并设置好picture后,Alt+F12就可以看到Form的源代码中已经将图片转成了16进制字符串,如下: ? 1 2 3 4 5 6 7 8 9 10 1 ...

  4. C语言 16进制与ascii码互转

    /*把ASCII字符转换为16进制 */ uint8_t char_to_hex(const uint8_t *ch) { uint8_t value = 0; if(*ch >= 0 & ...

  5. linux shell下16进制 “\uxxxx” unicode to UTF-8中文

    问题出现背景: 项目中有个通过ip获取归属地城市需求,我是直接通过新浪的ip归属查询接口来获取的.我使用的是shell脚本调用 RESULT=$(curl -s 'http://int.dpool.s ...

  6. [转]Java中byte与16进制字符串的互相转换

    Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...

  7. Python 16进制与字符串的转换

    电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...

  8. Java中byte与16进制字符串的互相转换

    * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...

  9. 进制与ASCII码转换

    LabeledEdit4.Text := chr(); // 用十进制方式赋值: ASCII码转换为字符 65 -> A LabeledEdit4.Text := #; // 用十进制方式赋值: ...

随机推荐

  1. Django学习之ORM操作

    一.一般操作 二.必知必会13条 返回QuerySet对象的方法有 特殊的QuerySet 返回具体对象的 返回布尔值的方法有 返回数字的方法 三.单表查询之神奇的双下划线 四.ForeignKey操 ...

  2. 【luogu P3369 【模板】普通平衡树(Treap/SBT)】 题解 pb_ds

    我永远都爱STL ! 我爱PB_DS ! #include <iostream> #include <cstdio> #include <ext/pb_ds/tree_p ...

  3. bootstrapPaginator设置同步会翻2页的小坑

    因为需要用到post的返回值在做后面的决定.不想嵌套在回调函数中.网上找了一下.设置为同步 $.ajaxSetup( { async: false }); 结果bootstrap的翻页组件就出了bug ...

  4. Java 加密Excel文件(打开时需输入密码)

    收集:author: lifq package com.XXX.XXX.utils; import java.io.IOException; import com.jxcell.CellExcepti ...

  5. 数据库——MySQL——多表查询

    这里多表,为了方便我只建了两张表,更复杂的表间也就是这些东西,就是复杂程度不一样. 数据源准备 建立一个学生表,和一个班级表 # 建立学生表 create table student( id int ...

  6. 【TOJ 1449】Area of Circles II(求不同位置的两圆面积之和)

    描述 There are two circles on the plane. Now you must to calculate the area which they cover the plane ...

  7. SpringBoot配置全局自定义异常

    不同于传统集中时Springmvc 全局异常,具体查看前面的章节https://www.cnblogs.com/zwdx/p/8963311.html 对于springboot框架来讲,这里我就介绍一 ...

  8. 编程 - Python - 框架 - Django

    一.Django简介 百度百科:一个开放源代码的Web框架,由Python语言编写...... 重点:一个大而全的框架,啥都替你考虑好了. 1. web框架介绍 具体介绍Django之前,必须先介绍W ...

  9. js继承的几种方法和es6继承方法

        一.原型链继     1.基本思想     利用原型链来实现继承,超类的一个实例作为子类的原型     2.具体实现     function F() {}     //原型属性,原型方法: ...

  10. SQL优化之语句优化

    昨天与大家分享了SQL优化中的索引优化,今天给大家聊一下,在开发过程中高质量的代码也是会带来优化的 网上关于SQL优化的教程很多,但是比较杂乱.整理了一下,写出来跟大家分享一下,其中有错误和不足的地方 ...