diff --git a/src/encoding_type.rs b/src/encoding_type.rs index 97a665e..a038e39 100644 --- a/src/encoding_type.rs +++ b/src/encoding_type.rs @@ -1,3 +1,5 @@ +use std::fmt; + use error::{KbinError, KbinErrorKind}; use failure::ResultExt; @@ -24,6 +26,21 @@ impl Default for EncodingType { } } +impl fmt::Display for EncodingType { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + let encoding = match *self { + EncodingType::None => "None", + EncodingType::ASCII => "ASCII", + EncodingType::ISO_8859_1 => "ISO-8859-1", + EncodingType::EUC_JP => "EUC-JP", + EncodingType::SHIFT_JIS => "SHIFT-JIS", + EncodingType::UTF_8 => "UTF-8", + }; + + write!(f, "{}", encoding) + } +} + impl EncodingType { pub fn from_byte(byte: u8) -> Result { let val = match byte {