Ruby 数据处理:固定长度记录、JSON 和二进制数据
1. 固定长度记录的读写
1.1 问题描述
在处理包含信用卡交易列表的文件时,该文件需要由公司的支付网关导入。文件由固定长度记录(FLRs)组成,即所有数据记录的属性具有恒定宽度。例如,每行的前五个字符包含要从信用卡收取的金额(以美分计)。Ruby 没有处理 FLR 文件的标准库,因此我们需要自己编写一个库。
1.2 文件格式描述
| 位置 | 描述 |
|---|---|
| 1 - 5 | 金额(以美分计) |
| 6 - 11 | 信用卡有效期至(mmyyyy) |
| 12 - 55 | 主账号(Base64,使用 AES - 256 - CBC 加密) |
| 56 - 95 | 持卡人姓名 |
1.3 读取固定长度记录
以下是实现读取固定长度记录的代码:
class FixedLengthRecordFile
include Enumerable
def initialize(source, field_sizes)
超级会员免费看
订阅专栏 解锁全文
25

被折叠的 条评论
为什么被折叠?



