Is there any function equivalent to Python's struct.pack and struck.unpack in C# that allows me to pack and unpack values like this?
import socket
from struct import *
from collections import namedtuple
if __name__ == "__main__":
# set up params
command_type = 1
command_class = 5
command_code = 0x14
arg0 = 0
arg1 = 0
# encode params
packed_message = pack('<bBBii', command_type, command_class, command_code, arg0, arg1)
#Resultat : b'\x01\x05\x14\x00\x00\x00\x00\x00\x00\x00\x00'
# calculate the checksum
cs = sum(unpack('bbbbbbbbbbb', packed_message))
#Resultat : 26
# re encode the checksum
packed_message2 = pack('<bBBiib', command_type, command_class, command_code, arg0, arg1, cs)
#Resultat : b'\x01\x05\x14\x00\x00\x00\x00\x00\x00\x00\x00\x1a'
# set up the socketprint(packed_message)
print(packed_message)
print(cs)
print(packed_message2)
I have an array of type char which contains the same data which are at the top on the python code.
List<char> tx_buffer2 = new List<char
(char message_Type, byte Command_Class, byte command_code,Int32 argument1, Int32 argument2)
Example array
('1', 1, 0x22, 1 , 0)
and I want to convert to bytes that respect the format present in pack and unpack function and the sum method