Struct qrcode::bits::Bits[][src]

pub struct Bits { /* fields omitted */ }

The Bits structure stores the encoded data for a QR code.

Methods

impl Bits
[src]

Constructs a new, empty bits structure.

Convert the bits into a bytes vector.

Total number of bits currently pushed.

Whether there are any bits pushed.

The maximum number of bits allowed by the provided QR code version and error correction level.

Version of the QR code.

impl Bits
[src]

Push the mode indicator to the end of the bits.

If the mode is not supported in the provided version, this method returns Err(QrError::UnsupportedCharacterSet).

impl Bits
[src]

Push an ECI (Extended Channel Interpretation) designator to the bits.

An ECI designator is a 6-digit number to specify the character set of the following binary data. After calling this method, one could call .push_byte_data() or similar methods to insert the actual data, e.g.

#![allow(unused_must_use)]

use qrcode::bits::Bits;
use qrcode::types::Version;

let mut bits = Bits::new(Version::Normal(1));
bits.push_eci_designator(9); // 9 = ISO-8859-7 (Greek).
bits.push_byte_data(b"\xa1\xa2\xa3\xa4\xa5"); // ΑΒΓΔΕ

The full list of ECI designator values can be found from http://strokescribe.com/en/ECI.html. Some example values are:

ECI # Character set
3 ISO-8859-1 (Western European)
20 Shift JIS (Japanese)
23 Windows 1252 (Latin 1) (Western European)
25 UTF-16 Big Endian
26 UTF-8
28 Big 5 (Traditional Chinese)
29 GB-18030 (Simplified Chinese)
30 EUC-KR (Korean)

If the QR code version does not support ECI, this method will return Err(QrError::UnsupportedCharacterSet).

If the designator is outside of the expected range, this method will return Err(QrError::InvalidECIDesignator).

impl Bits
[src]

Encodes a numeric string to the bits.

The data should only contain the characters 0 to 9.

impl Bits
[src]

Encodes an alphanumeric string to the bits.

The data should only contain the charaters A to Z (excluding lowercase), 0 to 9, space, $, %, *, +, -, ., / or :.

impl Bits
[src]

Encodes 8-bit byte data to the bits.

impl Bits
[src]

Encodes Shift JIS double-byte data to the bits.

impl Bits
[src]

Encodes an indicator that the following data are formatted according to the UCC/EAN Application Identifiers standard.

#![allow(unused_must_use)]

use qrcode::bits::Bits;
use qrcode::types::Version;

let mut bits = Bits::new(Version::Normal(1));
bits.push_fnc1_first_position();
bits.push_numeric_data(b"01049123451234591597033130128");
bits.push_alphanumeric_data(b"%10ABC123");

In QR code, the character % is used as the data field separator (0x1D).

Encodes an indicator that the following data are formatted in accordance with specific industry or application specifications previously agreed with AIM International.

#![allow(unused_must_use)]

use qrcode::bits::Bits;
use qrcode::types::Version;

let mut bits = Bits::new(Version::Normal(1));
bits.push_fnc1_second_position(37);
bits.push_alphanumeric_data(b"AA1234BBB112");
bits.push_byte_data(b"text text text text\r");

If the application indicator is a single Latin alphabet (a–z / A–Z), please pass in its ASCII value + 100:

This example is not tested
bits.push_fnc1_second_position(b'A' + 100);

impl Bits
[src]

Pushes the ending bits to indicate no more data.

impl Bits
[src]

Push a segmented data to the bits, and then terminate it.

Pushes the data the bits, using the optimal encoding.

Auto Trait Implementations

impl Send for Bits

impl Sync for Bits