问题标签 [fixed-length-record]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
12001 浏览

perl - 如何在 Perl 中读取固定长度的记录?

在 Perl 中读取固定长度记录的最佳方法是什么。我知道要读取如下文件:

我可以

但是没有办法通过读取/解包来做到这一点吗?

0 投票
1 回答
968 浏览

.net - .NET 中固定宽度处理的最佳实践

我正在使用一个 .NET Web 服务,它将处理一个具有相对较长的多级记录格式的文本文件。文件中的每条记录代表一个不同的实体;记录包含多个子类型。(COBOL 作业当前正在处理相同的记录格式,如果这能让您更好地了解我们正在查看的内容)。我创建了一个类结构(如果您愿意,可以使用 DATA DIVISION)来保存输入数据。

我的问题是,在 .NET 中处理大型、复杂的固定宽度文件时,您发现了哪些最佳实践?我的一般方法是将整行读入一个字符串,然后将字符串中的数据解析到我创建的类中。但我不确定将字符串中的字符作为数组使用还是使用字符串本身会得到更好的结果。我想这是具体的问题,字符串与字符 [],但我会很感激任何人的任何其他指针。

谢谢。

0 投票
2 回答
239 浏览

c++ - 计算以文本形式写入的数字长度的最简单/优雅的方法是什么?

给定最大可能值,如何简单地表示以十进制形式将此类数字写入文本所需的空间?

pid_t真正的任务:在 Linux 上使用 gcc 以固定长度记录进程 id ( )。在std::setw()iomanipulator 中使用编译时表达式会很好。

我发现linux/threads.h标头包含一个PID_MAX分配给进程的最大 pid 值。所以有

LENGTH(PID_MAX)将是一个编译时表达式,但不幸的是这个数字是在十六进制中定义的:

我目前最好的解决方案有点奇怪

但这是计算运行时并使用math.h中的函数

0 投票
2 回答
7144 浏览

regex - 固定宽度字段的正则表达式

我需要用正则表达式匹配文件布局上的固定宽度字段。该字段是数字/整数,总是有四个字符,并且包含在 0..1331 的范围内。当数字小于 1000 时,字符串用左零填充。所以所有这些例子都是有效的:

  • 0000
  • 0001
  • 0010
  • 1000
  • 1331

不得接受以下内容:

  • 1
  • 01
  • 10
  • 100
  • 4759

如果我只能使用正则表达式来强制执行此限制,那就太好了。玩了一会儿,我屈服了\0*[0-1331]\。问题是它没有将大小限制为四个字符。我当然可以,\000[0-9]|00[10-99]|0[100-999]|[1000-1331]\但我拒绝使用如此讨厌的东西。谁能想到更好的方法?

0 投票
1 回答
4161 浏览

.net - 用于固定长度文本文件的 .NET 库

我正在寻找一个 .NET(最好是 C# 中的开源)库来处理固定长度的字段文本文件。写一个不会太多,但是从现有的、经过测试的工作开始总是更好。

我将从 PBX 生成的文件中提取固定长度字段中的数据。每个 PBX 都有自己的文件格式,以及一组记录格式。我正在寻找一种使用动态文件和记录格式的简单方法的库,例如从 INI 或 XML 文件中读取。

编辑: 我以前忽略了 Marcos Meli 的优秀库FileHelpers,因为我认为我需要在编译时为每种记录类型创建一个类。事实并非如此,lib 包含一个ClassBuilder在运行时构建类的类。

新编辑: 来自不同 PBX 的记录仅在布局上有所不同,在数据上没有区别,即所有记录布局都映射到同一类。我想知道是否应该使用 FileHelper 属性从配置文件中动态读取它们的开始和长度数据?

0 投票
3 回答
1226 浏览

ruby-on-rails - 如何在 Rails 中将数据导出到 prn 文件(固定宽度和空格填充)

我在任何地方都没有看到这种任务完成,我想知道如何.prn在 RoR 中以文件格式导出数据。

这个想法是:

  • 字段 1 -> 长度:6 个字符 -> 内容:“blah”
  • 字段 2 -> 长度:8 个字符 -> 内容:“foo”
  • 字段 3 -> 长度:4 个字符 -> 内容:“bar”

并将其转换为如下所示的行:

我需要这个,因为我使用的 ERP 只接受固定宽度的数据字段。

0 投票
2 回答
567 浏览

mysql - MySQL手动插入多个固定长度值

我想在表中插入多个值,其中一列中的值按顺序递增。但是,由于业务需求,序列有点复杂。

单个插入将是这样的:

现在, col1 是需要增加的值,但保持固定长度结构。所以下一个插入应该是这样的:

等等..直到:

我怎样才能只用 SQL 做到这一点。我可以在 Java 和 Ruby 中轻松地做到这一点,但我坚持这一点并尝试了几件事,但大多数似乎都没有保持固定长度的结构(它变成了 SU1、SU2,而不是 SU0001、SU0002)。

感谢大家的帮助!

维克拉姆

0 投票
2 回答
1402 浏览

c# - 遍历文件并读取记录

在 C# 3.5 中以下最快的方法是什么:

  1. 遍历目录中的文件
  2. 读取文件的记录(固定长度为 247 个字符)
  3. 将每条记录的固定长度字符串转换为 Struct 或 Class。

谢谢

0 投票
1 回答
2177 浏览

c# - C# - FileHelper FieldConverter 例程可以引用记录中的其他字段吗?

我正在使用出色的 FileHelpers 库来处理固定长度的航班时刻表文件。

我有一个日期字段,然后是记录中的几个字段,一个时间字段。

我想在 FileHelpers 记录类中结合这两者,并且知道有一个自定义FieldConverter属性。使用此属性,您可以提供一个自定义函数来处理您的字段数据并实现StringToFieldFieldToString.

我的问题是:我是否也可以将其他字段(已读取)传递给该客户FieldConverter,以便我可以将日期和时间组合在一起。FieldConverter有一个实现,允许您引用自定义处理类和“其他字符串”甚至对象数组。但是,鉴于这是在属性定义中完成的,我很难访问这个较早的字段引用。

0 投票
1 回答
201 浏览

encryption - 是否有不会改变消息长度的公钥/私钥加密方案?

是否有不会改变消息长度的公钥/私钥加密方案?

我想一次加密一个数据包,但如果数据包增长,它就不再只是一个数据包长。