Ruby 1.9だとエンコーディングが異なると同じバイト列の文字列でも==にならない

# -*- coding: euc-jp -*-
RUBY_VERSION                    # => "1.9.0"
GZIP_MAGIC = "\x1F\x8B"
open("/tmp/compressed.txt.gz", "r") do |f|
  magic = f.read(2)   # => "\x1F\x8B"
  magic == GZIP_MAGIC # => false
  GZIP_MAGIC.encoding           # => #<Encoding:EUC-JP>
  magic.encoding                # => #<Encoding:ASCII-8BIT>
end

Ruby 1.9だとエンコーディングが異なると同じバイト列の文字列でも == にはならない。何気なく↑のようなスクリプトを書いてるとハマってしまう。エンコーディングを導入したからエンコーディング変換とかはできるけど、余計なお世話な場合もあってこの仕様は正直ひどいと思う。
「"\x1F\x8B".force_encoding "ASCII-8BIT"」とすりゃいいんだけどRuby 1.8だとそもそも不要だっただけに気持ち悪い。

追記

まてよ…違うエンコーディングで同じバイト列の場合もあるから、それで一致してしまうほうが困るのかな。そもそも↑の例が特殊なだけか?

どうせencoding awareになるのならばEUC-JPの「あ」とShift_JISの「あ」が==となるのは嬉しいと思う。