A blob contains the full content of the file. Blobs are stored zlib compressed and when extracted comprise the literal characters "blob", a single byte, the blob's length represented in ASCII, a single null byte, and finally the file's content.
You can try it out: git cat-file blob-hash
… or, if you don't trust git cat-file to only print the blob's content and nothing else, you can extract a blob's content directly from the command line, e.g.
$ printf 'A' > file
$ git add file
$ xxd .git/objects/8c/7e5a667f1b771847fe88c01c3de34413a1b220
00000010: 7801 4bca c94f 5230 6470 0400 0be4 0232 x.K..OR0dp.....2
$ pigz -d - < .git/objects/8c/7e5a667f1b771847fe88c01c3de34413a1b220 | xxd
00000000: 626c 6f62 2031 0041 blob␣1␀A
Git also employs something called "pack files" which pack multiple objects (blobs, trees, commits) together and delta compresses them. There are heuristics involved to bring more similar objects closer together so that they can be delta-compressed more efficiently. This happens transparently at the storage level. Conceptually, a blob still contains the full content of a file.