move to EncodingRef

This commit is contained in:
Henry Schimke
2022-10-16 13:33:21 -05:00
parent 5a1ae8cd90
commit 76a91111e9
5 changed files with 10 additions and 10 deletions

View File

@@ -118,7 +118,7 @@ fn get_encoded_data(corrected_bits: &[bool]) -> Result<String, Exceptions> {
// when character encoding changes (ECI) or input ends.
let mut decoded_bytes: Vec<u8> = Vec::new();
// let mut encdr: &'static dyn encoding::Encoding = encoding::all::UTF_8;
let mut encdr: &'static dyn encoding::Encoding = encoding::all::ISO_8859_1;
let mut encdr: encoding::EncodingRef = encoding::all::ISO_8859_1;
let mut index = 0;

View File

@@ -93,7 +93,7 @@ pub fn encode_with_charset(
data: &str,
minECCPercent: u32,
userSpecifiedLayers: i32,
charset: &'static dyn encoding::Encoding,
charset: encoding::EncodingRef,
) -> Result<AztecCode, Exceptions> {
let bytes = charset
.encode(data, encoding::EncoderTrap::Strict)
@@ -148,7 +148,7 @@ pub fn encode_bytes_with_charset(
data: &[u8],
min_eccpercent: u32,
user_specified_layers: i32,
charset: &'static dyn encoding::Encoding,
charset: encoding::EncodingRef,
) -> Result<AztecCode, Exceptions> {
// High-level encode
let bits = HighLevelEncoder::with_charset(data.into(), charset).encode()?;

View File

@@ -37,7 +37,7 @@ use super::{State, Token};
*/
pub struct HighLevelEncoder {
text: Vec<u8>,
charset: &'static dyn encoding::Encoding,
charset: encoding::EncodingRef,
}
impl HighLevelEncoder {
@@ -235,7 +235,7 @@ impl HighLevelEncoder {
}
}
pub fn with_charset(text: Vec<u8>, charset: &'static dyn encoding::Encoding) -> Self {
pub fn with_charset(text: Vec<u8>, charset: encoding::EncodingRef) -> Self {
Self { text, charset }
}

View File

@@ -23,7 +23,7 @@
// import java.nio.charset.StandardCharsets;
// import java.util.Random;
use encoding::Encoding;
use encoding::{Encoding, EncodingRef};
use rand::Rng;
use std::collections::HashMap;
@@ -102,7 +102,7 @@ fn test_utf16_le() {
);
}
fn do_test(bytes: &Vec<u8>, charset: &dyn Encoding, encoding: &str) {
fn do_test(bytes: &Vec<u8>, charset: EncodingRef, encoding: &str) {
let guessedCharset = StringUtils::guessCharset(bytes, &HashMap::new());
let guessedEncoding = StringUtils::guessEncoding(bytes, &HashMap::new());
assert_eq!(charset.name(), guessedCharset.name());

View File

@@ -129,7 +129,7 @@ impl StringUtils {
* or the platform default encoding if
* none of these can possibly be correct
*/
pub fn guessCharset(bytes: &[u8], hints: &DecodingHintDictionary) -> &'static dyn Encoding {
pub fn guessCharset(bytes: &[u8], hints: &DecodingHintDictionary) -> EncodingRef {
match hints.get(&DecodeHintType::CHARACTER_SET) {
Some(hint) => {
if let DecodeHintValue::CharacterSet(cs_name) = hint {
@@ -2565,7 +2565,7 @@ impl CharacterSetECI {
* @return CharacterSetECI representing ECI for character encoding, or null if it is legal
* but unsupported
*/
pub fn getCharacterSetECI(charset: &'static dyn Encoding) -> Option<CharacterSetECI> {
pub fn getCharacterSetECI(charset: EncodingRef) -> Option<CharacterSetECI> {
let name = if let Some(nm) = charset.whatwg_name() {
nm
} else {
@@ -2712,7 +2712,7 @@ impl CharacterSetECI {
pub struct ECIStringBuilder {
current_bytes: Vec<u8>,
result: String,
current_charset: &'static dyn Encoding, //= StandardCharsets.ISO_8859_1;
current_charset: EncodingRef, //= StandardCharsets.ISO_8859_1;
}
impl ECIStringBuilder {