And Dec's RADIX-50, packing 3 characters into 16 bits. (IIRC the origin of the 6.3 filenames. bit I can't document that.)
Sort of.... before ASCII, DEC used a few other 5 bit codes that were around such as baudot (look at the PDP-1/4 etc and KSR 28). RAD50 was a natural scheme for storing file name and using bits efficiently.
Which, of course, lead to the abomination of case folding - it's not a bug, it's a feature 😂
RAD50 gave us the x.y file name form with the implied dot et al. 6.3 and later 8.3 were natural directions from that coding. Using the .3 ext as a type tag of course followed that naturally given that's all that was stored in the disk "catalog." [And CP/M and PC/MS-DOS inherit that scheme - including the case folding silliness even though by that time all keyboard were upper and lower case and they stored the files in 8 bits].
UNIX of course, would put the "type" in the file itself (magic #) and force the storing of the dot, but removed the strict mapping of name and type. Having grown up in both systems, I see the value of each; but agree I think I find UNIX's scheme better and lot more flexible.
What is funny is that Apple's OSX does it both ways which I find schizophrenic and my major complaint with OSX (which is still my current fave but that's another story).