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