
¿Prestas atención a la información codificada? Todos estos toques interminables, códigos QR y otros códigos que ocurren literalmente en cada paso. Productos en tiendas, recibos de efectivo, letreros con información para turistas, recibos de facturas de servicios públicos, etc.
Hoy quiero hablar sobre un código que se puede ver regularmente en los aeropuertos, o más precisamente, en las tarjetas de embarque. El héroe de esta historia es PDF417. Veamos si dicho código se puede descifrar manualmente y sin avisos. ¿Qué información necesitas tener para esto? Cuanto tiempo llevara? Todo esto y mucho más te espera en esta publicación. ¡Empecemos!
Atención, debajo del corte: 30 imágenes con un tamaño total de 16,3 MB.
Tabla de contenido
01. Introducción y narración
( Atrás | Tabla de contenido | Adelante )
La primera pregunta que quiero responder de inmediato es "¿Por qué se necesita esto?" La respuesta es bastante simple: en algún momento me aburrí y pensé. Y después de eso, no pudo parar.
, 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:
!
Actualización (2020-05-12): es posible que se pregunte cómo leer / codificar PDF417 según las reglas .
PD si encuentra errores tipográficos o errores en el texto, hágamelo saber. Esto se puede hacer resaltando parte del texto y presionando " Ctrl / ⌘ + Enter ", si tiene Ctrl / ⌘, o mediante mensajes privados . Si ambas opciones no están disponibles, escriba sobre los errores en los comentarios. ¡Gracias!