Hi,
this has been covered many times.
Shortly put: it depends on the packet you have to build and how you plan to decode it afterwards.
Mind that the SetFill function (study it to learn how it works on a low level on the bare packet) is extremely powerful.
T.