首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DFSORT将IBM文件转换为十六进制文件?

如何使用DFSORT将IBM文件转换为十六进制文件?
EN

Stack Overflow用户
提问于 2014-11-18 11:54:23
回答 1查看 3.7K关注 0票数 1

我试图将一个IBM文件传递给十六进制值。

有了这一投入:

代码语言:javascript
复制
H800    

将此输出保存在文件中:

代码语言:javascript
复制
48383030

我试过这样做:

代码语言:javascript
复制
//R45ORF80V  JOB (EFAS,2SGJ000),'LLAMI',NOTIFY=R45ORF80,
//     MSGLEVEL=(1,1),MSGCLASS=X,CLASS=A,             
//     REGION=0M,TIME=5                               
//*---------------------------------------------------
//SORTEST   EXEC PGM=ICEMAN                            
//SORTIN   DD DSN=LF58.DFE.V1408001,DISP=SHR         
//SORTOUT  DD DSN=LF58.DFE.V1408001.OUT,             
//            DISP=(NEW,CATLG,DELETE),                
//            LRECL=4,DATACLAS=CDMULTI             
//SYSOUT   DD SYSOUT=X                                
//SYSPRINT DD SYSOUT=X                                
//SYSUDUMP DD SYSOUT=X                                
//SYSIN    DD *                                       
  SORT FIELDS=COPY                                    
  OUTREC FIELDS=(1,4,HEX)                                 
  END                                                 
/*           

但它的产出如下:

代码语言:javascript
复制
C8F1F0F0

我做错了什么?是否也可以将包含500个LREC和COMP-3字段的文件转换为十六进制文件?顺便说一下,我可以在使用文件管理器浏览文件时使用"HEX“命令。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-18 13:37:34

你的控制卡给了你你想要的输出。它们在EBCDIC中显示这些字符的十六进制值,而不是在ASCII中显示您所期望的十六进制值。

如果您确实希望看到ASCII的等价物,请使用TRAN=ETOA,然后使用TRAN=HEX。

您正在使用OUTREC FIELDSFIELDS有一个新的同义词(确切地说来自10年),它是构建的。为了向后兼容,支持字段。

INRECOUTREC是相似的,INRECSORTMERGE之前运行,OUTREC之后运行。

我建议您在进行排序/合并之后使用INREC

所以:

代码语言:javascript
复制
 INREC BUILD=(1,4,TRAN=ETOA)

但是,没有必要使用构建。生成总是创建记录的新版本。很多时候,当你重新排列字段时,这就是你想要的。在这里,你没有。

代码语言:javascript
复制
 INREC OVERLAY=(1,4,TRAN=ETOA)

如果将OUTREC替换为OUTREC,则输出文件将被编码为ASCII。

如果您也想看到ASCII,那么:

代码语言:javascript
复制
 INREC OVERLAY=(1,4,TRAN=ETOA,1,4,TRAN=HEX)

如果您想要查看ASCII,请改为:

代码语言:javascript
复制
 INREC OVERLAY=(1,4,TRAN=ETOA,1:1,4,TRAN=HEX)

注意最后一个示例中的1:。这表明“结果将位于第1位置”,因此覆盖您以前转换的数据。OVERLAY可以做到这一点,BUILD不能在一条语句中完成。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26993739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档