号码字符串与BCD编码互转 c#
/// <summary>
/// 把号码用BCD进行压缩编码。
/// </summary>
/// <param name="Num8BitByte">The num8 bit byte.</param>
/// <returns></returns>
public static byte[] ByteArrayToBCD(byte[] Num8BitByte)//8位的ascii码
{
byte[] Num4bitByte = new byte[8];
Num4bitByte = BitConverter.GetBytes(0xffffffffffffffff);
for (int i = 0; i<Num8BitByte.Length; i++)
{
byte num =Convert.ToByte(Num8BitByte[i] - 0x30);
if (i % 2 == 0)
{
Num4bitByte[i / 2] = Convert.ToByte((Num4bitByte[i / 2] & 0xF0) | num);
}
else
{
Num4bitByte[i / 2] = Convert.ToByte((Num4bitByte[i / 2] &0x0F)| (num << 4));
}
}
return Num4bitByte;
}
/// <summary>
/// BCDs to string.
/// </summary>
/// <param name="bcdNum">The BCD num.</param>
/// <returns></returns>
public static string bcdToString(byte[] bcdNum)
{
string retString="";
byte[] byteChar = new byte[bcdNum.Length];
byteChar = BitConverter.GetBytes(0xffffffffffffffff);
byte tempHigh=0,tempLow=0;
int i = 0;
while (tempHigh != 0x0F && tempLow != 0xF0)
{
tempHigh = Convert.ToByte(bcdNum[i] & 0xF0);//取出高四位;
tempHigh = Convert.ToByte(tempHigh >> 4);
tempLow = Convert.ToByte((bcdNum[i] & 0x0F) << 4);
byteChar[i] = Convert.ToByte(tempLow | tempHigh);
i++;
}
string[] HexString=BitConverter.ToString(byteChar).Trim().Split('-');
foreach (string str in HexString)
{
retString += str.Trim();
}
int LastIndex = retString.IndexOf('F');
return retString = retString.Substring(0, LastIndex);
}
号码字符串与BCD编码互转 c#的更多相关文章
- [PHP] chr和ord函数实现字符串和ASCII码互转
chr和ord函数是用来字符串和ASCII码互转的. ASCII码是计算机所能显示字符的编码,它的取值范围是0-255,其中包括标点.字母.数字.汉字等.在编程过程中,经常把指定的字符转化为ASCI ...
- 用php的chr和ord函数实现字符串和ASCII码互转
http://shenyongqang.blog.163.com/blog/static/22439113201002941856838/ chr和ord函数是用来字符串和ASCII码互转的. ASC ...
- Python中的字符串与字符编码
本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常谈的话题,同行们都写过很多这方面的文章. ...
- AC日记——字符串P型编码 openjudge 1.7 31
31:字符串p型编码 总时间限制: 1000ms 内存限制: 65536kB 描述 给定一个完全由数字字符('0','1','2',…,'9')构成的字符串str,请写出str的p型编码串.例如: ...
- decode 函数将字符串从某种编码转为 unicode 字符
环境:Ubuntu, Python 2.7 基础知识 这个程序涉及到的知识点有几个,在这里列出来,不详细讲,有疑问的直接百度会有一堆的. 1.urllib2 模块的 request 对像来设置 HTT ...
- 如何:通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入
大多数脚本利用发生在用户可以将可执行代码(或脚本)插入您的应用程序时. 默认情况下,ASP.NET 提供请求验证.只要窗体发送包含任何 HTML,该验证都会引发错误. 您可以使用下列方法防止脚本利用: ...
- 普通字符串与Hex编码字符串之间转换
import java.io.UnsupportedEncodingException; import org.apache.commons.codec.binary.Hex; public clas ...
- 与QString("我是中文")完全一样,你必须告诉tr这个窄字符串是何种编码?你不告诉它,它就用latin1。于是所谓的乱码问题就出来了。
在论坛中漂,经常遇到有人遇到tr相关的问题.用tr的有两类人: (1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr (2)另一类人,确实是出于国际化的需要,将需要在界面上显示的 ...
- GBK编码和UTF-8编码互转的大坑
这几天遇到一个BUG,问题很简单,解决却花了3.4天,特意记录下来. linux环境下,将默认编码设置为GBK以后,运行GBK编码的脚本,调用一个Java的jar包,然后总jar包中返回GBK字符串. ...
随机推荐
- 给 JavaScript 开发者讲讲函数式编程
本文译自:Functional Programming for JavaScript People 和大多数人一样,我在几个月前听到了很多关于函数式编程的东西,不过并没有更深入的了解.于我而言,可能只 ...
- Visual Studio 调试小技巧-从查看窗口得到更多信息(转)
原文地址:http://blog.csdn.net/cadcisdhht/article/details/5651488
- 个人博客开发之 ueditor 安装
- 第二百节,jQuery EasyUI,Tabs(选项卡)组件
jQuery EasyUI,Tabs(选项卡)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 5.选项卡面板 本节课重点了解 EasyUI 中 Tabs(选项卡)组件的使用方 ...
- [浪风前端开发]JS获取当前时间戳的方法
由于最近在研究轻交互式web设计,所以整理了下面的东东,仅供分享测试学习交流之用. JavaScript 获取当前时间戳:第一种方法: var timestamp = Date.parse(new D ...
- java blob
package net.qysoft; import java.io.File;import java.io.FileOutputStream;import java.sql.Blob;import ...
- android Material design是什么
Material design概述: Material design是一套UI样式标准,应该会提供一些新的API这写API包含了以下五大模块内容,分别是: Material Theme New Wid ...
- Unity3D学习笔记——NGUI之Property Binding
Property Binding:用于绑定两个组件,然后可以将一个组件的信息发送给另一个组件. 效果图如下: 一:使用步骤 1.建立一个Sprite 2.建立一个Label 3.为Sprite添加Pr ...
- linux命令小结
查看IP ip a 测试ip ping 10.0.0.128 测试端口 telnet 10.0.0.128 22 # telnet + ip + 端口 Linux - CentOS 7. ...
- modelform 对象和model之间的关系
一.modelform的每一个标签对象 for bound_field in form: print('form.model',form.Meta.model) ...