mirror of
https://github.com/openharmony/third_party_qrcodegen.git
synced 2026-07-18 09:44:36 -04:00
Moved QrCode.encodeTextToSegment() to QrSegment.makeSegments() and changed the function's code somewhat, in all language versions; updated JavaScript demo script to handle new semantics.
This commit is contained in:
+1
-17
@@ -43,27 +43,11 @@ const qrcodegen::QrCode::Ecc qrcodegen::QrCode::Ecc::HIGH (3, 2);
|
||||
|
||||
|
||||
qrcodegen::QrCode qrcodegen::QrCode::encodeText(const char *text, const Ecc &ecl) {
|
||||
std::vector<QrSegment> segs;
|
||||
segs.push_back(encodeTextToSegment(text));
|
||||
std::vector<QrSegment> segs(QrSegment::makeSegments(text));
|
||||
return encodeSegments(segs, ecl);
|
||||
}
|
||||
|
||||
|
||||
qrcodegen::QrSegment qrcodegen::QrCode::encodeTextToSegment(const char *text) {
|
||||
// Select the most efficient segment encoding automatically
|
||||
if (QrSegment::isNumeric(text))
|
||||
return QrSegment::makeNumeric(text);
|
||||
else if (QrSegment::isAlphanumeric(text))
|
||||
return QrSegment::makeAlphanumeric(text);
|
||||
else {
|
||||
std::vector<uint8_t> bytes;
|
||||
for (; *text != '\0'; text++)
|
||||
bytes.push_back(static_cast<uint8_t>(*text));
|
||||
return QrSegment::makeBytes(bytes);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
qrcodegen::QrCode qrcodegen::QrCode::encodeBinary(const std::vector<uint8_t> &data, const Ecc &ecl) {
|
||||
std::vector<QrSegment> segs;
|
||||
segs.push_back(QrSegment::makeBytes(data));
|
||||
|
||||
Reference in New Issue
Block a user