Tcl
Tcl
ZATCA Decode QR Code
See more ZATCA Examples
Decodes a base64 ZATCA QR code.Note: This example requires Chilkat v9.5.0.92 or greater.
Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# Note: This example requires Chilkat v9.5.0.92 or greater.
set qr "ARdBaG1lZCBNb2hhbWVkIEFMIEFobWFkeQIPMzAwMDc1NTg4NzAwMDAzAxQyMDIyLTAzLTEzVDE0OjQwOjQwWgQHMTEwOC45MAUFMTQ0LjkGLCtiQTFtdWNWSTY3SDRXQ2JOL2U5SjJxVXBIVHQzVHdNZHhsa09XVGVvdjg9B2BNRVlDSVFDWWg1ZTNpcklxV2w1WXRhQ25LaXVqTUlUbW9rWFlPUE1wSURDSW9XVzc5d0loQU1YbWMrTUZIR3RhZUJzZU91RUdUbHdENmcwOWdOUVBSUHVZODlzNjVPV1MIWDBWMBAGByqGSM49AgEGBSuBBAAKA0IABNMAr2WtNWSj2uSrplhxz0cNFk/hv1LjMDgqbthcn6ydNWEuTNTQeyZJf1SfyMOFFM4cMpp+3wL+65Rj3fi+4w0JSDBGAiEAlcAzHKujzvjHJrAV1M/79RnYRqe66kmtgMUykr/N/CACIQDgTQwbfftw0pYo6FX8c63Q4edvFgt+7JhHaBlla0qRtQ=="
set qr "AQxGaXJveiBBc2hyYWYCCjEyMzQ1Njc4OTEDEzIwMjEtMTEtMTcgMDg6MzA6MDAEBjEwMC4wMAUFMTUuMDAGLDlmc3JYVW8rU3BYQVlJTkw5aGFLU2dEOXgxaVJsZk53SVBDZnBlWXczYTA9B1hYMEM4VjFIL3hUMGdOaytWWXh2U2Z6UFJlUjZPM2t5VXA0TERITzJLMzlNSGJETXVvTGltQSt3RnovV2pVdEdMSHpaK0J5enNmWUdEQzliNUFGSU1FQT09CFgwVjAQBgcqhkjOPQIBBgUrgQQACgNCAARw3B+mu14x0h3pJFKqEWWT7DmD7jWYkZV7qHyikPlN4P/4/b7YD+A9wnFI92HTKm+/BGKXVf/pfLtsmdIIaPHnCUgwRgIhAMTjOkWwcNu5Aw5k1Yr3YgbPhdxKoJV1a3+5ShPtx1/IAiEAyrwsA/NuqV6XjybyrZpMp6eJAqslACLfCldti/PVOQs="
set bd [new_CkBinData]
set success [CkBinData_AppendEncoded $bd $qr "base64"]
set index 0
set expectedTag 1
while {$expectedTag <= 9} {
# Get the tag
set tag [CkBinData_GetByte $bd $index]
if {$tag != $expectedTag} then {
puts "Expected tag $expectedTag"
delete_CkBinData $bd
exit
}
set index [expr $index + 1]
set len [CkBinData_GetByte $bd $index]
if {$len == 0} then {
puts "Expected length > 0"
delete_CkBinData $bd
exit
}
set index [expr $index + 1]
# Tags 8 and 9 contain binary data.
if {$expectedTag >= 8} then {
set tagValue [CkBinData_getEncodedChunk $bd $index $len "base64"]
} else {
set tagValue [CkBinData_getTextChunk $bd $index $len "utf-8"]
}
puts "tag $tag: $tagValue"
set index [expr $index + $len]
set expectedTag [expr $expectedTag + 1]
}
delete_CkBinData $bd