
Faites-vous attention aux informations encodées? Toutes ces touches infinies, QR et autres codes qui se produisent littéralement à chaque étape. Marchandises dans les magasins, reçus de caisse, panneaux avec informations pour les touristes, reçus pour les factures de services publics, etc.
Aujourd'hui, je veux parler d'un code qui peut être régulièrement vu dans les aéroports, ou plus précisément - sur les cartes d'embarquement. Le héros de cette histoire est PDF417. Voyons voir si un tel code peut être déchiffré manuellement et sans invites. De quelles informations avez-vous besoin pour cela? Combien de temps cela prendra? Tout cela et bien plus vous attendent dans cette publication. Commençons!
Attention, sous la coupe - 30 images avec une taille totale de 16,3 Mo.
Table des matières
01. Introduction et narration
( Précédent | Table des matières | Suivant )
La première question à laquelle je veux immédiatement répondre est "Pourquoi est-ce nécessaire?" La réponse est assez simple - à un moment donné, je m'ennuyais et j'ai pensé. Et après cela, il n'a pas pu s'arrêter.
, PDF417 . , - . , , — , .
, . - , .
( | | )
, PDF417 . , . , .
#01 UIA (. 1). TIFF . — 2 4 . . 6 17 12 . — , — .
. 1. PDF417 (#01)
, , — 4 4 , 17 . — . 17 .
( ) 17 () 18 () . , , . , .
PDF417 (. 2), , . , .

. 2. PDF417 (#01: #05)
03. PDF417
( | | )
, . , . 2 ( ) 4 ( ). , 0 . , 5-6 , .
, ( , ). , :
. , ( 13 , ), . ( ) ( ).
, , . — 18 . , 19.
04.
( | | )
, , (. 3).
, , — . .
5 14 (0/0: 3/1) 9 (5/2:3, 6/1, 7/0:1, 8/0, 9/1:3). 25 , . , 9/1:3 . , , .
, 14 . , . , — . , — , . , , , . 9 + 1 .
, - . #01, #02 #04 — , PS 0336, #03 #05 — PS 0335. :
2 - , , . , 6/1 3 .
, #02 #03, #04 #05. 5 3/2: 4/2. — , 6 ( + ).

. 3. #01: #05
05. PDF417
( | | )
. , PS 0336 (#06) PS 0335 / PS 0336 (#07: #10). , #09: #10 , #04: #05. , #06 11 . 5 . 4.
, #06 - . , 3 . (). , 4 6 ( , ). , .
#07: #10 . , . , 14 , , .
#06. , , 13 0/1: 3/1 , . , . .
, , . . , ( ).

. 4. #06: #10
06.
( | | )
, 9 1 . . . , , (. 5).
, 0/1:2 . , . - , 2 . 1 , 11 . 3 — "" ( ) .
2 , . 1/0 1/2 . , , , . .
, 0/3. , , , — . , — 20 , 2 — . .
, , . 5 4 (#04, #05, #09, #10). , 3/2 #07 #08 .
:
- SNK79J (#01);
- RUKG4T (#02, #03);
- LW2BUW (#04, #05, #09, #10);
- SLRSFS (#06);
- LWJ2JA (#07, #08).
— LW. 3/2 #01 #06, S. , 1 ( 1 ).
4/3: 5/1 . 3-6 .
, , 6/0:1 (03 36 35). 5/2:3 PS 2 .

. 5. #01: #10 7
07.
( | | )
, . , 8 , 3 , .
6/3, 7/2 8/1 (#02 #07, #03 #08, #04 #09, #05 #10). 7/0:1 8/0 ( #06), 8/3 9/0 , #01 #06.
, , . , / . :
- (13 );
- (3- , 3 );
- ( , , );
- ;
- ( );
- ;
- ( );
- ;
- ( ).
, 13 — . ( , 5 ).
, , , .
— , , . .
? 3 B, 2 — A 2 — C. — 7/3. , 7/2 . .
. , — 8/1:2. , 8/1 , 8/2 — , , . 8/0 .
6/2 6/3 . - 8/3 9/0. 8/0, 7/0 7/1 .

. 6. #01: #10 6
08.
( | | )
. . . 8 , 1 6. 0, 3, 6 9 19 (. 7).

. 7. 0, 3, 6 9
1, 4, 7 10, 32 , (. 8).

. 8. 1, 4, 7 10
, 28 2, 5, 8 11 (. 9).

. 9. 2, 5, 8 11
, , , (. 10).

. 10.
09.
( | | )
, 8 . — 6 . , 1 679 616 . , 17 , , 3 488 .
3 488 :
3 6 , , . , 482 0 .
, . , 2 . — 26 A Z, . , ( , ), 729 .
, , , — 1 369. , , "" .
, . . , — 31 (961 ).
10. v0-01 ""
( | | )
. , , , 38 . . 03 04 .
#06. , #07 (. 11).

. 11. #06 #07. .
, , , ( ). , .
, , #06 . "-", , PDF417. (8 ) .
, , #06 7/2 7/3 . 0, , A 7/3 . , A. , 7/3 #06 1 0. , 4 0, .
, ( ) , -.
, 7/0 . , (s)0. , 6/3 . , 3 , ?
, , (s) + , (s) + . , , 4/0 #07 (s)2, (s)C. 7/3 #09. 4 7 , , .
, PDF417. , 50 , .
11. & v0-02
( | | )
. — . Turkish Airlines (#11: #14). , — , 180 . , 4 . , , .
26 5 . , , , . . 12 17 .

. 12. #11: #14. 1
, . ( 0/0, , 0/1:2, ). 0/3: 1/2. - 6 4 (2/4: 3/4). , , . — EUPT2M7, , . — 3 , .
4 (2 2 ), (TK) (1870 0762). 6/1 , 6/2 — . 23 A/B 17 K/J. 6/3: 7/0.
, 2/3 . , , . — 4/0:2, 10 — 4/3: 5/1. , , ( ) (32233211) . 3 , 6 , - — .
, . 8/0 18, 14/2 — 62, 13/0 , 4/3. 14/3 18. , 14/2 . , , .
, 78 , — (s)A / (s)0 .
12. TA & v0-03
( | | )
#15 #16 PDF417. — 27 4 . , 15 (. 13, ).

. 13. #15 #16. 1
7/2, 16 ( ). , ISTKBP ( ) TK — , ( 5/2). , 5/3 (d) (s), , .
6/0:1 (1062 0459), 4/3: 5/1 LJ UI ST . , , 3/2: 4/2, , , , - . , , 8/1:2, .
#01: #10 , , PS — . , 87 .
13. & v0-04 & v0-05
( | | )
, ( ). . 14, , . , :
- 7 / 24 #01: #05, #07: #10 (. 15);
- 7 / 22 #06 (. 15);
- 4 / 52 #11: #14(. 16);
- 5 / 54 #15: #16 (. 17);
- 10 / 48 #17: #18, (. 18).

. 14.
, , ( .). 2, 3 4, (3, 4 5 ).
, ( ) 3, 3, 8, 8 7 12, 11, 26, 27 24 . 3 , . ( ) 3.
, () . , , 12 11 (. 15). , 9 (L 11 27 24 , . 17 . 18 ). , 3.
, — . , , . - , . — . . 8, 16 32 18 . , 3 , , .
, . . 3 . , . , , 3 .
, 200 L R , 132 .
, v0-05 135.
. 015
. 15. #01: #10
. 016
. 16. #11: #14
. 017
. 17. #15: #16
. 018
. 18. #17: #18
14. & v0-06
( | | )
— Adria Airways, .
, #17 #18, #19 #20. 20 4 . , UK ( LJU KBP), JP — , 09 ( 934), 10 01 (. 19). L R (. 20), 20 .

. 19. #19: #20
. 020
. 20. #19: #20
? — LBZOKV. , , (d)L, BZ, OK V(d) 3/2: 4/1. , 3/2 (d)L . , (d) , . , .
#17 #18 (. 21). , VA, SK, LE, YI, VS, EV, EL, NI, YZ, KB, PL, JU, JP, 35 00. , . , 149 .

. 21. #17 #18
, . 20 , 376 , — 114, 130 132 .
15.
( | | )
#01 — #10, , 0/0 . , #06, , . , #11: #14 (38), #15: #16 (32) #19: #20 (24).
, , , L R, , . , 98, 92 64 . , , .
. , . , , , , .
, 31 . , — 30. 38 98 (), 32 — 92 (), 24 — 64 ().
, #01: #05, #07: #10 40 ( BK), #06 — 36 (BG), #17: #18 — 56 ( B 26).
16. & v0-07
( | | )
Adria Airways (#21 #22, . 22), BZ, VI, LJ, 85, 16, 10, 55, 31, 92, 81, 40, 32, 4(d), 98 45. L R (. 23) 37, 47, 57, 67, 77, 87, 06, 26, 36, 46 76.
. 022
. 22. #21: #22
. 023
. 23. #21: #22
, #21 #22 , . #19 #20 , ( ).
- (#23, . 24) . 7 , L R (. 25) .

. 24. #23
. 025
. 25. #23
, v0-07 174 , — 315 . 411 .
17. & v0-08
( | | )
, , (, ) . 17- PDF417.
, (), , 0 1 484, 3 — 1 002 6 — 1 002. .
, , 8- ( , (11111543) , (61123121) — ). , AA YZ.
, . - . 6 AA AL . AA: AK (x1111xxx), AL (x1112xxx). , . .
" - 5-10 , ". - , - TK DC. , 900 1 002 / 1 484.
, . . 0 — EV, 3 — G(s), 6 — EH. , . 3.
(d) — 26, . FN (163) F(d) (176).
[ CN — C(s) — DC ], [ D(s) — EG ], [ ET — E(s) — FG ] [ G(d) — G(s) ], (s) 28.
, 282 . 114 0, 228 — 3 167 — 6.
, , 1 492 336 , 842 (56.4%) 69 (20.5%) .
18. & v0-09
( | | )
, 3 #20, , AV . , AV .
AV 0, 6 AO: AU.
, PDF417 — 0/1 0/2, . 0/1 , 0/2 B(d) (056) CC (062). , — (057), (058). (27) , (058), B(s) 1(s). 0/2 , 1(s). 9/0 #12 #14, .
3 (840): (849). 8 , — 111, (. 26).

. 26. 3
(839): (852). , . 11 , 111 (. 27).

. 27. 3
(656) — V(d), . , . (648) (649), (52241111) .
(53231111): (12326111) , .
6, , 1 (022): (027), (046): (061), (117): (121) (134): (139). 8 , , (. 28), , 10 , — .

. 28. 8 , 7 .
6. , 339 , .
19.
( | | )
, , , , "" .
, #22 (s)LH(s) 16/2:3. , , , (Lufthansa). , #21 H(s), 17/0, . — JP — .
06 00 00, , . , #23 — 30 60 00 00, #15, #16. #11: #14 06 00 00 0(s). .
#11: #14 TK (13/1) K(d). , , (d)T.
20.
( | | )
, #21 #22 , #11: #14, #15: #16, #17: #18 #19: #20 , #23. , 2(s)A(29) C(s)0(29). 29 . , .
#11: #14, (. 29). , 11/2, 12/0:4. , 12/3 .
- 02 CX. .
— 4 / 8. — 235 5591 4709 94 / 8. , 12/4 , . , . , (29) , #01, , , . , — 11/2.
, 6 . — (002) (083), . , 13 6 ? , . , (002) — , , - . . 29.

. 29.
, , . .
, . , #15 #16 . 14/0 15/2 . 14/1: 15/1. , 14/3 — (090). , — + . , .
, , . , , — .
(900) 1000, 900 3 . , — 15 , 44 . 16 2 .
21.
( | | )
, 900 0 899, . , PDF417, — (n), , (), .
30 , 900 , , 899. , 30 , "". , 929 0 928. (n) () .
, #01: #05, #07: #10 3 (), #17: #18 — (). , "" .
22.
( | | )
#23. . 30. 16 521 054 807 52 13 , . ( ) , .

. 30. #23
. , 2. 0 (021) (029). , . , (021), (020).
23. & v0-10
( | | )
, 17 , , . 6 , .
, 18, . 7 8 , 6 7 . , 0 (4222249), — (7944422).
, , .
, 131, 415 308 0, 3 6.
24. & v0-11
( | | )
. 6, (16211132). 20 s(E) Y (864) — (s)Y. 3, 30 . 0 .
(s)Y , (s)T, — (s)(19), 19 .
, (s)(d) / (d)(s). 6 + 2 . , , , — (d)(s), (808). 6 , 3 30 . #11: #14 0.
(s)(d) / (866). , 0 #21, 6 — #22.
#11: #12 , , — I(d) — (266). 14 (252): (265) 6. , (266) 3. #19 0. #21 I(s) (268), (s).
#11: #14 3 , (). , (11611124) - , , ().
#21. , . , (901). (899) "", , (), (900) (901), (n), 6 (902) (903).
22/0:3 #21 22/0:2 #22 (d)(d) — (806). "" — (d)(29).
#15: #16, 17 18 4 . , 16/3 19/0, 8 , (d)(d). (15111215) (23421122) (d)(d) 0 6 . (d)(d) — 23 .
, 138, 466 349 .
25. & v0-12
( | | )
#23 15/3 (13242311) 16/0 (33113222) . #21: #22 (d)(s)JP, . (s) , , 15/3 (d)J.
#22, 16/1 JP (s)LH(s). , , . #11: #14 - , (s)(d) (11512142) 3.
17/0 #22 (d), 9, (d)9 . #15 060000 (22)3. 20/0 #22 . #21.
(s) . #21. (418) — N(s).
11/0 #22 I(27) I(s). 8(27) / 8(s). BO, , (27), . , 11/2 S(s), -. #21 .
#23 16/0 19/0. P . 19/1 , . 19/0 (d)(s), . , 16/0 — P(d) — (476). 19/0 (792), (793) — (d)N (d)O .
22/1 #23 T. (27), (s) (29). , (29), .
11/2 — , P(d), 6. (d), .
#19: #20 13/3 (). , () (n). , 14/0: 15/1 , () 15/2. #20 2 6, #19 — 4. — (032). , 32. — . , (336), (560), (185), (832) (045).
#15 #16 11/2 K(d). , , , TK . , (301): (326) 6.
#11: #14 8/2 (676): (684). W. #15: #16 #21: #22 WW, .
26. - & v0-13
( | | )
- 7 , , . . , .
, 6 , . (240), (269), (332), (335), (370), (371), (373), (376), (383), (385), (408), (482), (503), (506), (534), (535), (537), (540), (547), (549), (573), (576), (670), (696), (699), (702), (709), (711), (729), (732), (811), (828), (835) (837) — 34 929.
3. (280), (283), (286), (295), (297), (308), (309), (311), (314), (322), (323), (325), (328), (351), (354), (361), (364), (371), (374), (381), (384), (401), (408), (415), (507), (510), (517), (520), (527), (530), (537), (540), (561), (581), (583), (591), (593), (601), (603), (699), (706), (713), (720) — 43 .
, , , 0. , , , . , 180 929 .
27.
( | | )
, ? . -. , (929), ( , — ) ( ). , , ( ) ( ) .
:
- "" ( , 0), — ;
- ;
- , , , ;
- , , ;
- , "" — .
#01. 2 . , 928. , , . 8 4 .
, , 2 , — . — 21 46, . — (781) (388) . , — M(s). , M1, .
#02 (s)2 — (782) 21. (780) (783). #03 — .
#04 (274), — (273). #03, #05 . #07, #08, #09 #10.
#17. 5 , , . , — 6 — (656), 8 — (717), 25 — (146), 26 — (28) 34 — (872). (022):(027), (147):(149), (707):(713), (715), (716), (718):(723), (725), (726), (729), (731):(737), (739), (740), (743).
#18 3 . . 6, 8 15 (363), (263) (608) .
#23 (086), (334), (570) (674). . :
, , 0 394 .
28.
( | | )
— (29). (s)E — (29)(2) — (s)5 .
0, 0 1 1, . — .
0, - 1, 2 — , 1.
, (900): (928) .
29.
( | | )
. 23 PDF417 1 828 . , 3 929 , 394 (42.4%), 886 (95.4%) 895 (96.3%) .
(000): (899) 900 . , , 2 ( ) :
44 15 . , 1 10 900.
"" (900): (928). , (900) , (902) — .
"" , , . , , , .
, GitHub. , v0-13.
30.
( | | )
, - , . , , , .
, . . , .
, step by step:
!
Update (2020-05-12): , , / PDF417 .
P.S. , , . "Ctrl / ⌘ + Enter", Ctrl / ⌘, . , . !