Your observation is correct: BINARY and ASCII-8BIT are indeed aliases and being an alias implies there are no differences as it's just another name for the same encoding, method, etc.
Looking at the source code is the most reliable way to confirm this. CRuby's character encodings can be found in the enc directory. The ASCII-8BIT encoding is defined in the ascii.c file containing the following line (in 2.5.0, it's line 61):
ENC_ALIAS("BINARY", "ASCII-8BIT")
ENC_ALIAS works like Ruby's alias keyword (alias, original name).
Confirming that BINARY or another encoding name is an alias can be done in pure Ruby too. One possibility is calling the Encoding.aliases method which returns a hash (alias => original):
Encoding.aliases['BINARY'] # => "ASCII-8BIT"
Other useful methods are Encoding#name which returns the original name and Encoding#names which also returns all aliases:
Encoding::BINARY.names # => ["ASCII-8BIT", "BINARY"]
Encoding::US_ASCII.names # => ["US-ASCII", "ASCII", "ANSI_X3.4-1968", "646"]
Or a way without any Encoding methods:
Encoding::BINARY.equal?(Encoding::ASCII_8BIT)
As the == method is often overwritten and may return true even if both operands are two different objects, BasicObject#equal? should be called to check if they are the same object. E.g. 1 and 1.0 have the same value (== returns true) but not the same object identity (equal? returns false).