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 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
.
impl Copy for Mode
impl Eq for Mode
impl StructuralPartialEq for Mode
Auto Trait Implementations§
impl Freeze for Mode
impl RefUnwindSafe for Mode
impl Send for Mode
impl Sync for Mode
impl Unpin for Mode
impl UnwindSafe for Mode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more