如何解决使用 Python ftplib 处理大型机 PDS 时“站点 sbd”的含义
我已经通过以下链接连接到大型机并从 PDS 中提取文件。
Downloading text files with Python and ftplib.FTP from z/os
但是,我对此几乎没有怀疑:
sess.sendcmd("site sbd=(IBM-1047,ISO8859-1)")
谁能告诉我,它代表什么?当我们编写 sess.sendcmd("site sbd=....")
时,这台机器是特定的还是通用的?
解决方法
z/OS 上的文本数据(大部分)以 EBCDIC 代码页编码,IBM-1047 就是其中之一。 z/OS FTP 服务器 意识到 z/OS 之外的文本数据(大部分)是在其他(非 EBCDIC)代码页中编码的,例如 ISO8859-1。因此,当以 text (ASCII) 模式(不是二进制或图像模式)传输时,它会转换数据。虽然服务器对 z/OS 端代码页和“网络”端代码页都有一些默认值,但您可以使用以下命令更改该默认值:
SITE SBDATACONN=(file-system-cp,network-cp)
其中 file-system-cp
是 z/OS 端使用的编码,network-cp
是通过网络发送数据的编码,即您的非 z/OS 编码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。