バイト数で項目を切り出して CSV へ、CSV から固定長へ詰め直す
固定長ファイルは、汎用機や金融機関のフォーマットのように、各項目の長さをバイト数で定めているものがほとんどです。全角文字は Shift_JIS では2バイト、UTF-8 では3バイトを占めるため、文字数で切ると同じデータでも列がずれます。このツールは選んだ文字コードの規則でバイト数を数えて切り出します。
Shift_JIS では ASCII と半角カナが1バイト、ひらがな・漢字・全角記号が2バイトです。UTF-8 では ASCII が1バイト、ひらがな・漢字・半角カナがいずれも3バイトになります。同じ「山田太郎」でも Shift_JIS で8バイト、UTF-8 で12バイトです。元データが Shift_JIS で作られた固定長なら Shift_JIS を選んでください。
固定長ファイルの取り込みで最も多い失敗は、1行の長さが定義と合っていないことです。このツールは各行の実バイト数と、入力したバイト数の合計を比べ、過不足のある行だけを行番号つきで表示します。切り出しは止めずに続けるので、どこからずれ始めたかを結果と見比べられます。
指定したバイト数の境界が全角文字の途中に来た場合、その文字は次の項目に送ります。文字を壊した半端なバイトを出力しないためで、その行はバイト数チェックにずれとして表示されます。
バイト数の計算は Shift_JIS の一般的な範囲(ASCII・半角カナが1バイト、それ以外が2バイト)を規則として使います。Shift_JIS で表現できない文字を含むデータでは、実ファイルのバイト数と一致しないことがあります。
はい。「CSV → 固定長」を選ぶと、各項目を指定バイト数まで詰めて連結します。左寄せ・空白詰めと、右寄せ・0詰め(金額欄などで使う形)を選べます。指定より長い項目は切り詰め、その行を警告として表示します。
いいえ。切り出し・変換・ダウンロードまで、すべての処理はお使いのブラウザ内で完結します。入力内容がサーバーへ送信されることはありません。
はい。CSV へ出力するとき、カンマ・二重引用符・改行を含む項目は二重引用符で囲み、内部の二重引用符は2つ重ねます。タブ区切りを選んだ場合は項目内のタブを空白に置き換えます。
はい。「余白の扱い」で、右の空白を削除・両端の空白を削除・先頭の0を削除・そのまま、の4つから選べます。伝票番号のような0埋めの項目は「先頭の0を削除」が使えます。