Они идентичны.
UTF8Encoding
наследует Encoding
.
Таким образом, вы можете получить доступ ко всем статическим членам, объявленным Encoding
, через квалификатор UTF8Encoding
.
На самом деле, вы даже можете написать ASCIIEncoding.UTF8
, и он все равно будет работать.
Он будет компилироваться в идентичный IL даже в режиме отладки.
Я бы порекомендовал использовать Encoding.UTF8
, так как он показывает, что происходит более четко.