add StringDecoder and StringEncoder