KDE PIM/KItinerary/Trenitalia Barcode: Difference between revisions

From KDE Community Wiki
Line 9: Line 9:


{| class="wikitable"
{| class="wikitable"
! Byte:Bit !! Content !! Meaning !! Notes
! Byte:Bit (MSB) !! Content !! Meaning !! Notes
|-
|-
| 0:0 - 4:7 || 0x20 0x14 0xC2 0x08 0x10 || header? || fixed value in all samples
| 0:0 - 4:7 || 0x20 0x14 0xC2 0x08 0x10 || header? || fixed value in all samples
Line 35: Line 35:
| 40:0 - 50:7 || || || null if no PNR present, unknown content otherwise
| 40:0 - 50:7 || || || null if no PNR present, unknown content otherwise
|-
|-
| - 62:3 || xx bit uint || ticket number ||
| 51:0 - 58:3 || 0x0B 0x65 0x23 0x18 0x40 0xE6 0xC0 0x0 || || fixed in all samples?
|-
| 58:4 - 62:3 || 32 bit uint || ticket number ||
|-
|-
| 63:4 - 65:7 || null || ||
| 63:4 - 65:7 || null || ||

Revision as of 19:21, 10 May 2019

General Observations

  • always 67 bytes
  • exactly for one passenger/leg
  • does not seem to contain signatures, checksums or compression, based on minimal bit pattern changes on adjacent tickets
  • a lot less null bytes when PNR/seat reservation are present (ie. highspeed train tickets?)

Bit Layout

Byte:Bit (MSB) Content Meaning Notes
0:0 - 4:7 0x20 0x14 0xC2 0x08 0x10 header? fixed value in all samples
5:0 - 7:7 date? varies between samples
8:0 - 12:7 null
13:0 - 14:3 0000 0100 0000 fixed values in all samples
14:4 - 17:3 24 bit uint UIC station code of departure
17:4 - 18:2
18:3 - 21:2 24 bit uint UIC station code of arrival
xx bit uint train number
25:0 - 29:7 null
30:0 - 38:7 null if no PNR present, seems to contain seat number?
39:0 -42:7 null
40:0 - 50:7 null if no PNR present, unknown content otherwise
51:0 - 58:3 0x0B 0x65 0x23 0x18 0x40 0xE6 0xC0 0x0 fixed in all samples?
58:4 - 62:3 32 bit uint ticket number
63:4 - 65:7 null
66:0 - 66:7 varies between samples