我想要做的是能够通过 sshfs 在我的本地 PC 上通过 USS 在大型机上挂载一些文件。我可以这样做,但 sshfs 不会直接从 EBCDIC 转换为 ascii/unicode。有没有我可以设置的标志。
或者,有人知道将 EBCDIC 转换为 ASCII 以便我可以添加到 SSHFS 的库吗?
干杯
标记
请注意,尽管透明字符集转换是一种非常危险的游戏。你确定你永远不会通过 SSHFS 读取 EBCDIC 文件以外的任何东西吗?如果有二进制数据怎么办?
一些系统过去使用透明转换:
因此,我强烈建议您注意后果。
为什么不使用可以处理 EBCDIC 的编辑器?Vim eg 可以做到(如果它被编译)。
有几个用于字符集转换的库 — iconv(通常是 C 库的一部分;参见示例iconv_open
)和GNU recode。
我知道自从最初的问题以来已经过去了很多时间,但我会在这里留下信息:
我已经为 sshfs 编写了一个补丁,它添加了 ASCII 和 EBCDIC 之间的自动转换。可以在这里找到:https ://github.com/vadimshchukin/sshfs-ebcdic
该补丁添加了“-t”命令行选项,该选项为应转换的文件定义正则表达式。例如sshfs -t".*"
定义所有文件的转换。
我不得不对转换表进行“硬编码”,因为 EBCDIC 有各种“风格”,并且 iconv 没有根据需要在我的系统上将 ASCII 之间的文本转换为 EBCDIC。这里的优点是有人可以根据需要轻松更改该翻译表。
顺便说一句,我为 win-sshfs 编写了相同的补丁。