public byte[] Register(ushort provinceID, ushort cityID, string producerID, string terminalType, string terminalID, string platenum, byte platecolor, out ushort headerOrderID) { //Pack var provice = encoder.Encode(provinceID); var city = encoder.Encode(cityID); var producer = encoder.Encode(producerID, 5); var terminal = encoder.Encode(terminalType, 20); var terminalIDData = encoder.Encode(terminalID, 7); var plate = encoder.EncodeString(platenum); //Combine var body = new byte[provice.Length + city.Length + producer.Length + terminal.Length + terminalIDData.Length + plate.Length + 1]; var index = 0; Array.Copy(provice, 0, body, index, provice.Length); index += provice.Length; Array.Copy(city, 0, body, index, city.Length); index += city.Length; Array.Copy(producer, 0, body, index, producer.Length); index += producer.Length; Array.Copy(terminal, 0, body, index, terminal.Length); index += terminal.Length; Array.Copy(terminalIDData, 0, body, index, terminalIDData.Length); index += terminalIDData.Length; body[index] = platecolor; index++; Array.Copy(plate, 0, body, index, plate.Length); return(GetFullPackage(body, UpMessageID.Register, out headerOrderID)); }
public void EncodeString(string input, string expect) { byte[] expectData = HexTransfer.GetBytesData(expect); byte[] encodeStr = encoder.EncodeString(input); for (int i = 0; i < expectData.Length; i++) { Assert.Equal(expectData[i], encodeStr[i]); } }