assuming you mean PACKED field
First, the “little squares” are the way your application’s display shows an unprintable character (meaning the hex value does not correspond to a known symbol).
So somehow, you need to get your application to show you the HEX values for the packed fields. Then it is a matter or reading it out properly.
Second, you must not be using a native data retrieval method, as the system i automatically converts the packed data unless you are displaying the raw member contents.
To read packed data (once you have the HEX value) you read it bit wise from the left.
123 in a packed 3,0 field depending on application display is
12 3F (note:F is positive, D is negative)
-123.4 in a packed 4,1 field is
01 23 4D (note: even length packed fields get a place holder 0 so that the sign F or D can be added. decimal points are not displayed; they must be positioned after extracting the digits.)