117 | | that takes a blob node as the input tree and provides a complex output tree |
118 | | with various decoded information about the filesystem. Some transforms, like |
119 | | `uint32le`, are built in to Bithenge; more complicated transforms can be loaded |
120 | | from a script file. |
| 117 | that takes a byte blob node as the input tree and provides a complex output |
| 118 | tree with various decoded information about the filesystem. Some transforms, |
| 119 | like `uint32le`, are built in to Bithenge; more complicated transforms can be |
| 120 | loaded from a script file. |
134 | | ||ascii ||blob node ||string ||decodes some bytes as ASCII characters || `hex:6869` becomes `"hi"` || |
135 | | ||known_length(len) ||blob node ||blob node ||requires the input to have a known length || || |
136 | | ||nonzero_boolean ||integer ||boolean ||decodes a boolean where nonzero values are true || `0` becomes `false` || |
137 | | ||uint8 ||1‐byte blob node ||integer node ||decodes a 1‐byte unsigned integer || `hex:11` becomes `17` || |
138 | | ||uint16be ||2‐byte blob node ||integer node ||decodes a 2‐byte big‐endian unsigned integer || `hex:0201` becomes `513` || |
139 | | ||uint16le ||2‐byte blob node ||integer node ||decodes a 2‐byte little‐endian unsigned integer || `hex:0101` becomes `257` || |
140 | | ||uint32be ||4‐byte blob node ||integer node ||decodes a 4‐byte big‐endian unsigned integer || `hex:00000201` becomes `513` || |
141 | | ||uint32le ||4‐byte blob node ||integer node ||decodes a 4‐byte little‐endian unsigned integer || `hex:01010000` becomes `257` || |
142 | | ||uint64be ||8‐byte blob node ||integer node ||decodes a 8‐byte big‐endian unsigned integer || `hex:0000000000000201` becomes `513` || |
143 | | ||uint64le ||8‐byte blob node ||integer node ||decodes a 8‐byte little‐endian unsigned integer || `hex:0101000000000000` becomes `257` || |
144 | | ||zero_terminated ||blob node ||blob node ||takes bytes up until the first `00` || `hex:7f0400` becomes `hex:7f04` || |
| 134 | ||ascii ||byte blob node ||string ||decodes some bytes as ASCII characters || `hex:6869` becomes `"hi"` || |
| 135 | ||bit ||1‐bit blob node ||boolean ||decodes a single bit || `1` becomes `true` || |
| 136 | ||bits_be ||byte blob node ||bit blob node ||decodes bytes as bits, starting with the most‐significant bit || `hex:0f` becomes `bit:00001111` || |
| 137 | ||bits_le ||byte blob node ||bit blob node ||decodes bytes as bits, starting with the least‐significant bit || `hex:0f` becomes `bit:11110000` || |
| 138 | ||known_length(len) ||blob node ||blob node ||requires the input to have a known length || || |
| 139 | ||nonzero_boolean ||integer ||boolean ||decodes a boolean where nonzero values are true || `0` becomes `false` || |
| 140 | ||uint8 ||1‐byte blob node ||integer node ||decodes a 1‐byte unsigned integer || `hex:11` becomes `17` || |
| 141 | ||uint16be ||2‐byte blob node ||integer node ||decodes a 2‐byte big‐endian unsigned integer || `hex:0201` becomes `513` || |
| 142 | ||uint16le ||2‐byte blob node ||integer node ||decodes a 2‐byte little‐endian unsigned integer || `hex:0101` becomes `257` || |
| 143 | ||uint32be ||4‐byte blob node ||integer node ||decodes a 4‐byte big‐endian unsigned integer || `hex:00000201` becomes `513` || |
| 144 | ||uint32le ||4‐byte blob node ||integer node ||decodes a 4‐byte little‐endian unsigned integer || `hex:01010000` becomes `257` || |
| 145 | ||uint64be ||8‐byte blob node ||integer node ||decodes a 8‐byte big‐endian unsigned integer || `hex:0000000000000201` becomes `513` || |
| 146 | ||uint64le ||8‐byte blob node ||integer node ||decodes a 8‐byte little‐endian unsigned integer || `hex:0101000000000000` becomes `257` || |
| 147 | ||uint_be(len) ||bit blob node ||integer node ||decodes bits as an unsigned integer, starting with the most‐significant bit || || |
| 148 | ||uint_le(len) ||bit blob node ||integer node ||decodes bits as an unsigned integer, starting with the least‐significant bit || || |
| 149 | ||zero_terminated ||byte blob node ||byte blob node||takes bytes up until the first `00` || `hex:7f0400` becomes `hex:7f04` || |