using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
namespace smsForCsharp.CRC
{
///
/// 消息CRC校验算法
///
public class CRC
{
public static String getCrc16Code(String crcString)
{
// 转换成字节数组
byte[] creBytes = HexString2Bytes(crcString);
// 开始crc16校验码计算
CRC16Util crc16 = new CRC16Util();
crc16.reset();
crc16.update(creBytes);
int crc = crc16.getCrcValue();
// 16进制的CRC码
String crcCode = Convert.ToString(crc, 16).ToUpper();
// 补足到4位
if (crcCode.Length
{
// crcCode = StringUtil.lefgPadding(crcCode, '0', 4);
crcCode = crcCode.PadLeft(4, '0');
}
return crcCode;
}
public static String RealHexToStr(String str)
{
String hText = "0123456789ABCDEF";
StringBuilder bin = new StringBuilder();
for (int i = 0; i
{
bin.Append(hText[str[i] / 16]).Append(hText[str[i] % 16]).Append(' ');
}
return bin.ToString();
}
/**
* 十六进制字符串转换成字节数组
*
* @param hexstr
* @return
*/
public static byte[] HexString2Bytes(String hexstr)
{
byte[] b