C 寫的CRC16檢驗演算法

2022-03-17 21:02:48 字數 2349 閱讀 5479

//

/ //

/ crc校驗

///

public class crc

}byte hi = (byte)((crc & 0xff00) >> 8); //

高位置byte lo = (byte)(crc & 0x00ff); //

低位置return

newbyte

; }

return

newbyte ;

}#endregion

#region tocrc16

public static string tocrc16(string content)

public static string tocrc16(string content, bool isreverse)

public static string tocrc16(string content, encoding encoding)

public static string tocrc16(string content, encoding encoding, bool isreverse)

public static string tocrc16(

byte

data)

public static string tocrc16(

byte

data, bool isreverse)

#endregion

#region tomodbuscrc16

public static string tomodbuscrc16(string s)

public static string tomodbuscrc16(string s, bool isreverse)

public static string tomodbuscrc16(

byte

data)

public static string tomodbuscrc16(

byte

data, bool isreverse)

#endregion

#region bytetostring

public static string bytetostring(

byte

arr, bool isreverse)

catch (exception ex)

}public static string bytetostring(

byte

arr)

catch (exception ex)

}#endregion

#region stringtohexstring

public static string stringtohexstring(string str)

return

s.tostring();

}#endregion

#region stringtohexbyte

private static string convertchinese(string str)

else

}return

s.tostring();

}private static string filterchinese(string str)

}return

s.tostring();

}///

/// 字串轉16進製制字元陣列

///

/// //

/ public static byte

stringtohexbyte(string str)

///

/// 字串轉16進製制字元陣列

///

/// //

/ 是否過濾掉中文字元

/// public static byte

stringtohexbyte(string str, bool isfilterchinese)

return

result;

}#endregion

}

view code

呼叫示例:

crc.tocrc16("012345678",  true);          //結果為:c3cd

crc.tocrc16("012345678",  false);           //結果為:cdc3

crc.tomodbuscrc16("012345678",  true);      //結果為:2801

crc.tocrc16("你好,我們測試一下crc16演算法",  true);   //結果為:0182

CRC16 校驗演算法

1 迴圈校驗碼 crc碼 是資料通訊領域中最常用的一種差錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。2 生成crc碼的基本原理 任意乙個由二進位制位串組成的 都可以和乙個係數僅為 0 和 1 取值的多項式一一對應。例如 1010111對應的多項式為x6 x4 x2 x 1,而多項式為x5...

CRC16校驗演算法實現

迴圈冗餘碼校驗英文名稱為cyclical redundancy check,簡稱crc。它是利用除法及餘數的原理來作錯誤偵測 error detecting 的。實際應用時,傳送裝置計算出crc值並隨資料一同傳送給接收裝置,接收裝置對收到的資料重新計算crc並與收到的crc相比較,若兩個crc值不同...

CRC16 校驗演算法原理,以及C 例子

1 迴圈校驗碼 crc碼 是資料通訊領域中最常用的一種差錯校驗碼,其特徵是資訊字段和校驗欄位的長度可以任意選定。2 生成crc碼的基本原理 任意乙個由二進位制位串組成的 都可以和乙個係數僅為 0 和 1 取值的多項式一一對應。例如 1010111對應的多項式為x6 x4 x2 x 1,而多項式為x5...