Struct qrcodegen::QrSegment [−][src]
pub struct QrSegment { /* fields omitted */ }
A segment of character/binary/control data in a QR Code symbol.
Instances of this struct are immutable.
The mid-level way to create a segment is to take the payload data
and call a static factory function such as QrSegment::make_numeric()
.
The low-level way to create a segment is to custom-make the bit buffer
and call the QrSegment::new()
constructor with appropriate values.
This segment struct imposes no length restrictions, but QR Codes have restrictions. Even in the most favorable conditions, a QR Code can only hold 7089 characters of data. Any segment longer than this is meaningless for the purpose of generating QR Codes.
Methods
impl QrSegment
[src]
impl QrSegment
pub fn make_bytes(data: &[u8]) -> Self
[src]
pub fn make_bytes(data: &[u8]) -> Self
Returns a segment representing the given binary data encoded in byte mode.
All input byte slices are acceptable.
Any text string can be converted to UTF-8 bytes and encoded as a byte mode segment.
pub fn make_numeric(text: &[char]) -> Self
[src]
pub fn make_numeric(text: &[char]) -> Self
Returns a segment representing the given string of decimal digits encoded in numeric mode.
Panics if the string contains non-digit characters.
pub fn make_alphanumeric(text: &[char]) -> Self
[src]
pub fn make_alphanumeric(text: &[char]) -> Self
Returns a segment representing the given text string encoded in alphanumeric mode.
The characters allowed are: 0 to 9, A to Z (uppercase only), space, dollar, percent, asterisk, plus, hyphen, period, slash, colon.
Panics if the string contains non-encodable characters.
pub fn make_segments(text: &[char]) -> Vec<Self>
[src]
pub fn make_segments(text: &[char]) -> Vec<Self>
Returns a list of zero or more segments to represent the given Unicode text string.
The result may use various segment modes and switch modes to optimize the length of the bit stream.
pub fn make_eci(assignval: u32) -> Self
[src]
pub fn make_eci(assignval: u32) -> Self
Returns a segment representing an Extended Channel Interpretation (ECI) designator with the given assignment value.
pub fn new(mode: QrSegmentMode, numchars: usize, data: Vec<bool>) -> Self
[src]
pub fn new(mode: QrSegmentMode, numchars: usize, data: Vec<bool>) -> Self
Creates a new QR Code segment with the given attributes and data.
The character count (numchars) must agree with the mode and the bit buffer length, but the constraint isn't checked.
pub fn mode(&self) -> QrSegmentMode
[src]
pub fn mode(&self) -> QrSegmentMode
Returns the mode indicator of this segment.
pub fn num_chars(&self) -> usize
[src]
pub fn num_chars(&self) -> usize
Returns the character count field of this segment.
pub fn data(&self) -> &Vec<bool>
[src]
pub fn data(&self) -> &Vec<bool>
Returns the data bits of this segment.