This nearly tells you all you need to know. The other bit of info you'll want to note is that head -c +N produces as many bytes as you ask. So if you try to get the prefix using "head -c +N" and the suffix using "tail -c +N" then you'll have 1 byte of overlap.
(dd's corresponding options do not suffer from this problem.)
(dd's corresponding options do not suffer from this problem.)