重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

今、ある社のフォーマット変換製品を利用して、UTF-8のCSVファイルから固定長のEBCDICファイルへの変換機能を実装してみます。EBCDICカタカナとIBM漢字を設定し、漢字転換の場合、シフトコード(シフトイン、シフトアウト)を付加するように指定します。

問題点として、CSVファイルにある項目は漢字25個があります。変換後の長さは25*2+2=52バイトと想定していますが、変換製品で実行すると、53バイトが必要というエラーメッセージを出てきます。


なぜ53バイトになるかぜんぜんわかりません。
何かアドバイスがありますか教えてください。

ありがとう!

A 回答 (2件)

#1 です。



>バイナリファイルで

「バイナリエディタで」の間違いです。すいません。
    • good
    • 0

53バイトで設定すればファイル自体は作成できるのでしょうか?



だとしたら、とりあえず、53バイトで出力してみて、バイナリファイルで中身を確認してみる、と言うのはどうでしょう。

自分はメインフレームから離れて10年以上ですので、以下は、推測です。

固定長のEBCDICと言う事で、改行は有り得ませんが、最初の1バイト、または最終1バイトには、何らかの制御文字( 0xFF や 0x14 のような終端文字など)が入っているのではないでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!