A spec-compliant Unicode renderer is expected to render 259 flags [1]. So 8 bits isn't quite enough. You would need 9.

Obviously an arbitrary bitmap of dimensions that could be used for a recognizable flag would need orders of magnitude more storage. The constraint that we are representing a finite set of flags is what admits such a compact representation.

[1] https://www.unicode.org/Public/emoji/latest/emoji-sequences....

262 if you include the flags of England, Scotland, and Wales, which for some reason are the only flags in their own separate blocs.