what tripleee said in a comment holds, but this is a guess...
it looks like some sort of "data dictionary", i.e. giving descriptive names to otherwise opaque/numeric values. there seem to be some sort of sectioning going on, with 37 to 44 NUL characters between distinct sets of values. each set of values seems to have key/value pairs also separated by NUL chars, and I'd use the following code to interpret this file:
import re
with open('Links.bxl', encoding='ascii') as fd:
buf = fd.read()
for section in re.split('\x00{32,}', buf):
print('Next Section')
section = section.split('\x00')
for i in range(1, len(section), 2):
print(' {0!r} => {1!r}'.format(section[i-1], section[i]))
if len(section) % 2 == 1:
print(repr(section[-1]))
the first few lines of output from the above is:
Next Section
'\x01'
Next Section
'Class'
Next Section
'0' => 'Undefined'
'11' => 'Freeway'
'21' => 'Expressway'
'31' => 'Major Arterial'
'41' => 'Minor Arterial'
'51' => 'Local Street'
'61' => 'Access Road'
'81' => 'Ramp'
'82' => 'UnderRoad'
'83' => 'TAZ_Link'
'84' => 'Interchange_Ramp'
'85' => 'UnderLine'
'' => 'Disabled_AB'
Next Section
'0' => 'No'
'1' => 'Yes'
'' => 'Disabled_BA'
printon your system doesn't produce any visible output for control characters; you could approximate this in Python with something like splitting on control characters and assuming the extracted fragments can simply be decoded asascii. See also hhe Unixstringsutility.