private HComEnums.NumberOfLengthByte GetNumberOfLengthByte(int length) { HComEnums.NumberOfLengthByte usingBytes = HComEnums.NumberOfLengthByte.Len1; if (length > 0xFF) { usingBytes = HComEnums.NumberOfLengthByte.Len2; } if (length > 0xFFFF) { usingBytes = HComEnums.NumberOfLengthByte.Len3; } if (length > 0xFFFFF) { Console.WriteLine("Exceeded max length {0}", 0xFFFFF); return(HComEnums.NumberOfLengthByte.Overbound); } return(usingBytes); }
private bool AddFormat(int length, HComEnums.ItemFormat itemFormat) { HComEnums.NumberOfLengthByte lengthByte = GetNumberOfLengthByte(length); if (lengthByte == HComEnums.NumberOfLengthByte.Overbound) { return(false); } byte ret = (byte)((byte)itemFormat << 2 | (byte)lengthByte); msgData.Add(ret); for (byte b = (byte)lengthByte; b > 0; b--) { byte retLen = (byte)(length >> (b - 1) * 8 & 0xFF); msgData.Add(retLen); } return(true); }