Handle UTF-16 encoding errors with replacement characters

This commit is contained in:
sharkdp authored and David Peter committed 2019-02-10 10:18:07 +01:00
1 parent fa3244f7c1
commit 9e11d66979
1 file changed
+4 -4
+4 -4
View File
@@ -261,11 +261,11 @@ impl<'a> Printer for InteractivePrinter<'a> {
return Ok(());
}
ContentType::UTF_16LE => UTF_16LE
.decode(&line_buffer, DecoderTrap::Strict)
.unwrap_or("Invalid UTF-16LE".into()),
.decode(&line_buffer, DecoderTrap::Replace)
.map_err(|_| "Invalid UTF-16LE")?,
ContentType::UTF_16BE => UTF_16BE
.decode(&line_buffer, DecoderTrap::Strict)
.unwrap_or("Invalid UTF-16BE".into()),
.decode(&line_buffer, DecoderTrap::Replace)
.map_err(|_| "Invalid UTF-16BE")?,
_ => String::from_utf8_lossy(&line_buffer).to_string(),
};