use encoding_rs::Encoding;
use crate::TranscoderBuilder;
pub struct TranscoderRaw {
decoder: &'static Encoding,
encoder: &'static Encoding,
}
impl TranscoderBuilder {
pub fn build_raw(self) -> TranscoderRaw {
TranscoderRaw {
decoder: self.from_encoding,
encoder: self.to_encoding,
}
}
}
impl TranscoderRaw {
pub fn transcode(&self, input: &[u8]) -> Vec<u8> {
let (input, _, _) = self.decoder.decode(input);
let (output, _, _) = self.encoder.encode(&input);
output.to_vec()
}
}