I'm really curious about this and somebody might know: why do beans come in 19-oz cans in Canada, and in (I gather) 15.5-oz cans in the US? I'm a calorie-counter, and this has always puzzled me as well as irritating me just a little bit when I've tried to use online programs to count. Or is it a different "ounce" or something like that?
The gross difference is primarily because an American pint is 16 fluid oz and an UK / Canadian / Imperial pint is 20 fluid oz. For some historical reason a US fluid oz is sbout 4% bigger than an Imperial one. Synecdoche... a fluid oz is always a measure of volume rather than weight. This is constant, whereas weight depends on where you are on the Earth and the atmospheric pressure.
My previously long-held (and unsupported by any evidence) belief was that a 15.5 oz can will displace approx 16 oz of water. Originally it was a 16 oz can with a 15.5 oz contents.
Now, thinking about it there are other possible reasons.
1) There is normally some form of air gap and that a 16 oz can only has 15.5 oz of content The air gap may depending on the food type or maybe whether the liquid was boiling when the can was filled.
2) There is an US standard for a fluid oz, but I seem to remember somewhere that some drugs or food use an FDA nominal standard of 30 ml to the fluid oz rather than the numerically correct 28 and a bit. (28.4??)
I am also guessing that the sizes you get now is due to standardisation of machinery, manufacturing and packaging. And of course the current legal requirements to specify the contents.