号码字符串与BCD编码互转 c#
来源:互联网 发布:淘宝直播合作平台 编辑:程序博客网 时间:2024/05/02 03:45
/// <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#
- C# BCD编码解码
- 关于BCD编码 BCD与十进制转换
- 关于BCD编码 BCD与十进制转换
- 关于BCD编码 BCD与十进制转换
- 关于BCD编码 BCD与十进制转换
- bcd编码 TO 16进制字符串
- ASCII与BCD的理解,主要讲解BCD编码
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD码、十六进制与十进制互转
- BCD编码
- 你知道你公司的发展规划吗?
- Java学习日志-枚举
- C#_汉字与GBK,Unicode,UTF-8编码之间的转换(by daode1212)
- Flex错误码列表
- SGU103
- 号码字符串与BCD编码互转 c#
- 编程珠玑第8章-课后习题10题补充
- 如何预测用户query意图
- android中执行shell
- C++ 小游戏之推箱子
- IIS 5.1成功配置说明
- 从狄仁杰的测字占卜到一淘网的Query分析
- ORA-39213: Metadata processing is not available 解决方法
- 生成CSV