問題タブ [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 で大規模で複雑な固定幅ファイルを処理するためのベスト プラクティスは何ですか? 私の一般的なアプローチは、行全体を文字列に読み取り、文字列から作成したクラスにデータを解析することです。しかし、文字列内の文字を配列として処理するのと、文字列自体を処理するのとでどちらが良い結果になるかはわかりません。それは特定の質問、文字列とchar []だと思いますが、誰かが持っている他のポインターをいただければ幸いです。

ありがとう。

0 投票する
2 に答える
239 参照

c++ - テキストとして書かれた数値の長さを計算する最もシンプルでエレガントな方法は何ですか?

可能な最大値が与えられた場合、そのような数値を 10 進数形式でテキストとして書き込むために必要なスペースを単純に表現するにはどうすればよいでしょうか?

実際のタスク: Linux で gcc を使用して、プロセス ID ( pid_t) を固定長でログに記録します。std::setw()iomanipulatorで使用するコンパイル時の式があるとよいでしょう。

linux/threads.hヘッダーに、PID_MAXプロセスに割り当てられた最大 pid の値が含まれていることがわかりました。だから持っている

これLENGTH(PID_MAX)はコンパイル時の式になりますが、残念ながらこの数値は 16 進数で定義されています。

私の現在の最善の解決策は少し奇妙です

ただし、これは実行時に計算され、math.hの関数を使用します。

0 投票する
2 に答える
7144 参照

regex - 固定幅フィールドの正規表現

ファイルレイアウトの固定幅フィールドを正規表現と一致させる必要があります。フィールドは数値/整数で、常に4文字で、0..1331の範囲に含まれます。数値が1000より小さい場合、文字列は左ゼロで埋められます。したがって、これらの例はすべて有効です。

  • 0000
  • 0001
  • 0010
  • 1000
  • 1331

ただし、次のことは受け入れてはなりません。

  • 1
  • 01
  • 10
  • 100
  • 4759

正規表現でのみこの制限を適用できればいいのですが。少し遊んだ後、式を出しました\0*[0-1331]\。問題は、サイズが4文字に制限されていないことです。もちろんできます\000[0-9]|00[10-99]|0[100-999]|[1000-1331]\が、とても厄介なものを使うことを拒否します。誰かがより良い方法を考えることができますか?

0 投票する
1 に答える
4161 参照

.net - 固定長テキスト ファイル用の .NET ライブラリ

固定長のフィールド テキスト ファイルを処理するための .NET (できれば C# のオープン ソース) ライブラリを探しています。書くのは大したことではありませんが、既存のテスト済みの作業は常に最初から優れています。

PBX で生成されたファイルから固定長フィールドのデータを抽出します。各 PBX には、独自のファイル形式と一連のレコード形式があります。INI ファイルや XML ファイルからの読み取りなど、動的なファイルおよびレコード形式を使用する簡単な方法を備えたライブラリを探しています。

EDIT:コンパイル時にレコードタイプごとにクラスを作成する必要があると考えていたため、 以前はマルコスメリの素晴らしいライブラリFileHelpersを見落としていました。これはそうではなく、ライブラリには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 は複数の固定長値を手動で挿入します

列の 1 つの値が順次増加するテーブルに複数の値を挿入したいと考えています。ただし、ビジネス要件のため、シーケンスは少し複雑です。

単一の挿入は次のようになります。

ここで、col1 はインクリメントする必要がある値ですが、固定長構造を維持します。したがって、次の挿入は次のようになります。

など..まで:

SQLのみでこれを行うにはどうすればよいですか。これは Java と Ruby で簡単に実行できますが、これに行き詰まり、いくつかのことを試しましたが、ほとんどが固定長構造を維持していないようです (SU0001、SU0002 ではなく、SU1、SU2 になります)。

助けてくれてありがとう!

ヴィクラム

0 投票する
2 に答える
1402 参照

c# - ファイルを繰り返し処理し、レコードを読み取ります

C#3.5で次のことを行うための最速の方法は何ですか?

  1. ディレクトリ内のファイルを反復処理します
  2. ファイルのレコードを読み取ります(247文字の固定長)
  3. 各レコードの固定長文字列を構造体またはクラスに変換します。

ありがとう

0 投票する
1 に答える
2177 参照

c# - C#-FileHelper FieldConverterルーチンはレコード内の他のフィールドを参照できますか?

優れたFileHelpersライブラリを使用して、固定長の航空会社のスケジュールファイルを処理しています。

日付フィールドがあり、その後、レコードのいくつかのフィールドである時間フィールドがあります。

FileHelpersレコードクラスでこれらの両方を組み合わせたいのですが、カスタムFieldConverter属性があることを知っています。この属性を使用して、フィールドデータを処理し、およびを実装するためのカスタム関数を提供しStringToFieldますFieldToString

私の質問は、他のフィールド(すでに読んだもの)をこの顧客にFieldConverterも渡すことができるので、日付と時刻を組み合わせることができます。FieldConverterカスタム処理クラスと「その他の文字列」の両方、またはオブジェクトの配列を参照できるようにする実装があります。しかし、これが属性定義で行われていることを考えると、私はこの以前のフィールドの参照にアクセスするのに苦労しています。

0 投票する
1 に答える
201 参照

encryption - メッセージの長さを変更しない公開/秘密鍵暗号方式はありますか?

メッセージの長さを変更しない公開/秘密鍵暗号方式はありますか?

メッセージを一度に 1 パケットずつ暗号化したいのですが、パケットが大きくなると、1 パケットの長さだけではなくなります。