------------------------------------------------------------------------------
◆コード置換定義ファイル説明
------------------------------------------------------------------------------
「数」のコード に対応する意味内容を記載するファイルです。
バイナリ→テキスト→バイナリなどと使う時は、基本的に、同じ定義を使って下さい。
------------------------------------------------------------------------------
◆指定の仕方
------------------------------------------------------------------------------
レコード定義ファイルに、コード置換定義ファイルを指定します。
記載方法は、レコード定義ファイルの説明を参照して下さい。
例.・・・,6項目目,Ref\code\0x0a.txt
先頭、末尾のスペースは無効です。
レコード定義ファイル中では、「, A.txt 」でも「,A.txt」とみなされます。
------------------------------------------------------------------------------
◆レコードの書式
------------------------------------------------------------------------------
・コードの値は数のみ対応しています。
・1行読み取りサイズの Max は 130Byte 。
・先頭が(//)で始まる行はコメントと見なされます。
・項目はタブ(0x09)区切り。
・1行の構成は、以下のようになっています。
(1) (2) (3)
コード 意味内容文字列 コメント(任意)
[sample 1]
0 通常 コメント1
1 特殊 コメント2
[sample 2]
10 (0x0A) コメント
1項目にコード、2項目に意味内容の文字列を指定します。
3項目以降は無視されます。
------------------------------------------------------------------------------
◆注意
------------------------------------------------------------------------------
1.項目定義が「数の項目」(変換タイプが「s」以外) では、
Binary→Text変換時、対応するコード定義が無い場合、
元のコードの「数」(10進数)が出力されます。
一方、Text→Binary変換時は、対応するコード定義が無い場合、
数値なら、バイナリの数値に変換します。それ以外の場合、エラー終了します。
------------------------------------------------------------------------------
2.コードの範囲は、広くて LONG_MIN(-2147483647-1)〜LONG_MAX(2147483647) です。
→レコード定義ファイルの (B項目長, B読み書き方向, 変換タイプ) の
組み合わせで制限されます。
◆例1.
BD項目長, 変換タイプ
--------+-------------+--------------
4Byte | u | 負の数は不可
4Byte | 16以上の bit 区切り
で区切り後も 4Byte のコードになるものには、対応していません。
◆例2. 1Byte の項目に対して、
「 1000 AAAA ・・・」等のように、範囲外(256以上)を指定しても、
・Binary→Text変換時は、適用されません。
・Text→Binary変換時は、そのような項目は値の範囲エラーとなります。
1Byte の u -> 0〜255 が範囲となります。
1Byte の n -> -128〜127 が範囲となります。
◆例3. 変換タイプ=「s」の場合、
Binary文字列中の、1,2,3,4バイトの数に対応しています。
LONG_MIN(-2147483647-1)〜LONG_MAX(2147483647)
ex.1.
Binary→Text変換時、
Binary文字列中の改行[0x0A] を Text「(0x0A)」に置換するには、
16進数の[0x0A]を10進数に直した[10]を定義します。
10 (0x0A) コメント
ex.2.
Binary→Text変換時、バイナリ エディタで見た時のように、
Binary文字列中の[0xF0 0x4C]「ホウ統のホウの漢字」を
Text「(广龍)」に置換するには、
16進数の[0xF0 0x4C]を10進数に直した[61516]を定義します。
61516 (广龍) コメント
------------------------------------------------------------------------------
3.チェックにかなり時間を要する場合があるため、
コード等の重複チェックはしていません。
◆◆同じ「コード」に対して複数行定義した場合、先勝ちです。
◆例1.0 通常
0 特殊
→Binary→Text変換時には、「0」→「通常」。
Text→Binary変換時には、「通常」/「特殊」→「0」。
◆◆同じ「置換する意味内容文字列」に対して複数行定義した場合、先勝ちです。
◆例2.0 通常
1 通常
→Text→Binary変換時には、「通常」→「0」。
Binary→Text変換時には、「0」/「1」→「通常」。
------------------------------------------------------------------------------
4.Text→Binary変換時、一部重複は先勝ちです。
◆例. 0 森
5 森草
とコード定義している場合、先に「森」で置換してしまうので、
「森草」で置換できなくなってしまいます。
以下のように片方が他方に含まれないようにして下さい。◆◆
0 森林
5 森草
以上