A Portable Implementation of System.Text.Encoding