A model never sees the string of characters you typed. Before anything else happens, the prompt is split into tokens, which are chunks of text roughly the size of a common word piece. A frequent word like "cat" may be one token, while a rarer word like "skateboard" may be split into two or three pieces such as "skate" and "board". Punctuation and spaces are usually attached to the neighboring chunk rather than standing alone.
The reason is practical. If a model worked character by character, a short sentence would become dozens of tiny steps and the model would have to relearn that c-a-t means the same thing as the word cat. If it worked whole-word by whole-word, it would need an entry for every inflected and misspelled form and would have no way to handle a word it had never seen. Chunking sits between those extremes: common words stay whole, unfamiliar words break into recognizable pieces, and the model can still make sense of a word it has never encountered by reading its parts.
The consequence for prompting is that the model does not perceive letters or spelling the way you do. It perceives a sequence of chunks. This is also why token counts, not word counts, are the real measure of how much text you have sent.