pub enum Mode {
Numeric,
Alphanumeric,
Byte,
Kanji,
}
Expand description
The mode indicator, which specifies the character set of the encoded data.
Variants§
Numeric
The data contains only characters 0 to 9.
Alphanumeric
The data contains only uppercase letters (A–Z), numbers (0–9) and a few
punctuations marks (space, $
, %
, *
, +
, -
, .
, /
, :
).
Byte
The data contains arbitrary binary data.
Kanji
The data contains Shift-JIS-encoded double-byte text.
Implementations§
source§impl Mode
impl Mode
sourcepub fn length_bits_count(self, version: Version) -> usize
pub fn length_bits_count(self, version: Version) -> usize
Computes the number of bits needed to encode the data length.
use qrcode::types::{Version, Mode};
assert_eq!(Mode::Numeric.length_bits_count(Version::Normal(1)), 10);
This method will return Err(QrError::UnsupportedCharacterSet)
if the
mode is not supported in the given version.
sourcepub fn data_bits_count(self, raw_data_len: usize) -> usize
pub fn data_bits_count(self, raw_data_len: usize) -> usize
Computes the number of bits needed to some data of a given raw length.
use qrcode::types::Mode;
assert_eq!(Mode::Numeric.data_bits_count(7), 24);
Note that in Kanji mode, the raw_data_len
is the number of Kanjis,
i.e. half the total size of bytes.
Trait Implementations§
source§impl PartialEq for Mode
impl PartialEq for Mode
source§impl PartialOrd for Mode
impl PartialOrd for Mode
source§fn partial_cmp(&self, other: &Self) -> Option<Ordering>
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
Defines a partial ordering between modes. If a <= b
, then b
contains
a superset of all characters supported by a
.
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more