1. 程式人生 > >c#計算十六進位制字串的和校驗

c#計算十六進位制字串的和校驗

演算法流程:

1.去除不必要字元(例如其他符號和 0x 這樣的標識)

這裡使用字串string的Replace函式來完成,例如我要處理的原型字串dat為:0xAA,0xE0,0x01,0x00

dat = dat.Replace("0x", "");
dat = dat.Replace(',', ' ');

經過以上替換操作得到  AA E0 01 00

2.轉換字串為陣列

string[] array = dat.Split(' ');

3.將陣列轉換為整形並相加

int sum = 0;
foreach (string arrayElement in array)
            {
                
                    sum += int.Parse(arrayElement, System.Globalization.NumberStyles.HexNumber);
                

            }


4.計算和校驗並輸出

return sum.ToString();


相關推薦

c#計算字串

演算法流程: 1.去除不必要字元(例如其他符號和 0x 這樣的標識) 這裡使用字串string的Replace函式來完成,例如我要處理的原型字串dat為:0xAA,0xE0,0x01,0x00

java字串字串互轉(支援中文)

*字串轉16進位制 /** * 字串轉換成為16進位制(無需Unicode編碼) * @param str * @return */ public static String s

C--整形字串的相互轉換

前言 十六進位制整形:6B746d656d6f7869616667650007e26B 十進位制字串:“ktiemoxiaoge ‘\07’ '\226’k" 十六進位制字串“6B746d656d6f7869616667650007e26B” 有什麼用呢??在網路通訊中,常常要制定一定的

C++實現中英文與UNICODE字串互轉

之前搞過這個中英文與UNICODE十六進位制字串的互轉,但是發現有點小問題。現在重新搞了一個,測試中暫時沒有發現什麼問題。先記錄下來。 我嘗試使用過MultiByteToWideChar和WideCharToMultiByte來實現這個功能,但是發現不行。也就是無法實現如:

C語言實現位元組流與字串的相互轉換

//位元組流轉換為十六進位制字串void ByteToHexStr(const unsigned char* source, char* dest, int sourceLen){    short i;    unsigned char highByte, lowByte;    for (i = 0; i

c++ 字串存入檔案例項

c++ 十六進位制字串存入檔案: 方法一: void writeToFile() { const char* str = "000000DD000000E00000015C000000E2"; FILE* file = fopen("test.txt", "wb"); as

C++ MFC ASCII碼 字元 十進位制 或 字串 互相轉化

// char *pBuffer,unsigned long dwBufSize char *buf1=new char[2*(dwBufSize+1)]; memset(buf1,0,2*(dwBufSize+1)); for (unsigned int j=0; j&

C語言--陣列轉換為字串字元陣列串列埠傳送

 首先,我們會遇到這麼多種的“十六進位制的表達字串”: char *str1 = "FF FF 12 FE EE 00 2F 09 3D 22 00 FF"; char *str2 = "FFFF12FEEE002F093D2200FF"; char *

QT十進位制字串轉換

QByteArray在串列埠通訊中經常被使用,有一定必要較為全面詳細的對QByteArray進行闡述。本文通過以下幾個部分加以介紹: 1. 初始化 2. 訪問與賦值 3. 新增、刪除、插入與替換操作 4. 查詢與比較 5. 資料轉換與處理 1 初始化 2 訪問與賦值

iOS 字串 "#FFFF00" 轉換成顏色物件

1 + (UIColor *)colorWithHexStr:(NSString *)hexString { 2 NSString *colorString = [[hexString stringByReplacingOccurrencesOfString:@"#" withString:

nodejs字串與btye型資料相互轉換

byte型轉換十六進位制字串 /** * byte型轉換十六進位制 * @param b * @returns {string} * @constructor */ const Bytes2HexString = (b)=> { let hexs = ""; fo

位元組陣列轉化為字串時 &0xff

我是資源的搬運工~~~ 關於這個位元組陣列轉化為十六進位制字串時 &0xff,看到很多次了,這裡整理一下網上的資料,記錄一下: byte 為什麼要&0xff byte 為什麼要 &0xff /** * 位元組陣列轉換成字串HEX表示 *

二進位制字串,十進位制,字串,ASC/GBK字串間的相互轉換函式

 最近在做一些**演算法的處理,由於借鑑了許多已存在模組,處理時使用了許多字串和進位制轉換函式,過程中從下面幾個函式中得到許多幫助。 論壇參考連結: https://bbs.csdn.net/topics/390991981 十進位制整數轉二進位制串 十進位制整數

位元組陣列轉化為字串時 &0xff

我是資源的搬運工~~~ 關於這個位元組陣列轉化為十六進位制字串時 &0xff,看到很多次了,這裡整理一下網上的資料,記錄一下: /** * 位元組陣列轉換成字串HEX表示 * * @param data 位元組陣列

遇到問題---redis命令列檢視中文亂碼--字串處理

症狀 Redis在使用命令列操作時,如果檢視內容或者key中包含中文,會顯示16進位制的字串”\xe4\xb8\xad\xe5\x9b\xbd” 127.0.0.1:6379> set k1 '中國' OK 127.0.0.1:6379> get

c++編寫轉化為二進位制

#include #include using namespace std; int main() { int f,c; char e; string hexDigit; cin>>hexDigit; for(int f=0;f<=hexDig

android byte位元組陣列轉換字串(物聯網開發總結)

想起前段時間的物聯網的外包開發,經常遇到通過wifi接受的資料,要通過轉換成十六進位制字串,或者最後又是十進位制資料。都是根據雙方的協議來開發的。那麼我傳送過去的資料也需要,經過特殊轉換成byte位元組發過去,硬體那邊收到不至於亂碼的資料。 1、硬體除錯發給android這

byte[]陣列與字串字串的互相轉換(轉載)

1.請問c#中如何將十進位制數的字串轉化成十六進位制數的字串 //十進位制轉二進位制 Console.WriteLine("十進位制166的二進位制表示: "+Convert.ToString(166, 2)); //十進位制轉八進位制 Console.WriteLine("十進位制166的八進位制表示:

把unicode編碼的字串轉換為漢字(Python2.7)

#小端位元組序轉為大端位元組序 def little2big_endian(hex_string): big_endian_str = '' #定義一個空字串 for i in range(len

字串轉byte陣列實現

字串轉byte陣列,就是實現如下功能:把一個字串,比如“E4F1C3A81F”每兩位作為一個十六進位制數存到一個unsigned char 型的陣列(buf)裡,buf[0] = 0xE4,buf[1