最近学习Elixir,想写个小程序练习练习。
以前研究过MARC(机读目录格式),主要用于存储图书信息的一种数据格式,每个MARC条目有24个字节的头标区,然后是目次区,目次区存储图书信息的各个字段名称及长度和地址信息,现在写个小程序用来读取目次区的数据。
目次区的数据格式:
字段名(3个字节)+字段长度(4个字节)+数据地址(5个字节)
字段名(3个字节)+字段长度(4个字节)+数据地址(5个字节)
字段名(3个字节)+字段长度(4个字节)+数据地址(5个字节)
......
读取过程:
1、打开文件
2、读取一条MARC数据
3、跳过头标区(24个字节)
4、读取12个字节,解析字段信息
5、判断目次区是否结束,如果没有结束重新执行第4步
6、判断文件是否结束,如果没有结束重新执行第2步
根据目次区的数据格式,解析过程如下:
#