I am dealing with the following string of bytes in Python 3.
b'\xf9', b'\x02', b'\x03', b'\xf0', b'y', b'\x02', b'\x03', b'S', b'\x00', b't', b'\x00', b'a'
This is a very confusing bunch of bytes for me because it is coming from a microcontroller which is emitting information according to the MIDI protocol. 
My first question is about the letters near the end.  Most all of the other bytes are true hexadecimal values (i.e. I know the b'\x00' is supposed to be a null character).  However, the capital S, which is supposed to be a capital S, appears as such (a b'S'). According to the ASCII / HEX charts I have looked at, Uppercase S should be x53 (which is what b'\x53'.decode('utf-8') returns.
However, in Python when I do b'S'.decode('utf-8') it also returns a capita S, (how can it be both?)
Also, Some of the bytes (such as b'\xf9') are truly meant to be escaped (which is why they have the \x however, I am running into issues when trying to decode them.  When running [byteString].decode('utf-8') on a longer version of the above string I get the following error:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf9 in position 0: invalid start byte
Shouldn't those bytes be skipped over or printed as? Thanks
They return the same thing because b'\x53' == b'S'. It's the same of other characters in the ASCII table as they're represented by the same bytes.
You're getting a UnicodeDecodeError because you seem to be using a wrong encoding. If I run b'\xf9'.decode('iso-8859-1') I get ù so it's possible that the encoding is ISO-8859-1. 
However, I'm not familiar with the MIDI protocol so you have to review it to see what bytes need to be interpreted as what encoding. If decode all the given bytes as ISO-8859-1 it doesn't give me a meaningful string so it may mean that these bytes stand for something else, not text?
Issues decoding a Python 3 Bytes object based on MIDI