What you're seeing is an attempt to make the raw file data viewable.
^@ is a method of displaying a "control" character in plain text. This arose as a method of directly displaying (and entering) data that a font or keyboard couldn't otherwise handle. You can see a list of them here, see the column "Caret Notation".
The question mark in a diamond is a common way to indicate a character that can't be shown in the current view for various reasons. See Replacement character.
As for "looking the same", some file types have an easily recognizable signature, such as GIFs that start with "GIF89a". This is to let a program quickly decide if a given file is something it can handle. Here is a Wikipedia page that discusses them: Magic Number.
If you're using Quick Look to view a file, it tries to find a "filter" that converts the file to something useful. For instance, you can view binary plist files because they can be converted to xml using plutil.
On the other hand, Text Edit doesn't have the concept of filters, so it'll try to convert the otherwise binary format to something it can display.
In terminal, less will ask "com.apple.finder.plist" may be a binary file. See it anyway?
to give you the chance to avoid trying to make the terminal interpret control codes that might have undesirable consequences.
Sorry, this turned into an essay :)