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]

[src]

Constructs a new, empty bits structure.

[src]

Convert the bits into a bytes vector.

[src]

Total number of bits currently pushed.

[src]

Whether there are any bits pushed.

[src]

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

[src]

Version of the QR code.

impl Bits
[src]

[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]

[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]

[src]

Encodes a numeric string to the bits.

The data should only contain the characters 0 to 9.

impl Bits
[src]

[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]

[src]

Encodes 8-bit byte data to the bits.

impl Bits
[src]

[src]

Encodes Shift JIS double-byte data to the bits.

impl Bits
[src]

[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).

[src]

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]

[src]

Pushes the ending bits to indicate no more data.

impl Bits
[src]

[src]

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

[src]

Pushes the data the bits, using the optimal encoding.

Trait Implementations

Auto Trait Implementations

impl Send for Bits

impl Sync for Bits