sshfs EBCDIC到ASCII

时间:2009-04-03 05:27:39

标签: ssh ascii fuse ebcdic sshfs

我想要做的是能够通过sshfs在我的本地PC上通过USS在大型机上安装一些文件。我可以这样做,但sshfs不会直接从EBCDIC转换为ascii / unicode。有没有我可以设置的标志。

另外,有没有人知道有一个库可以进行EBCDIC到ASCII转换,所以我可以添加到SSHFS吗?

干杯

标记

3 个答案:

答案 0 :(得分:4)

请注意,透明的字符集转换是一个非常危险的游戏。您是否绝对确定从不通过SSHFS读取除EBCDIC文件以外的任何内容?如果有二进制数据怎么办?

过去有些系统使用透明转换:

  • FTP的臭名昭着的“ASCII模式”,它搞砸了许多二进制下载
  • Linux中的vfat文件系统,它注意到:“计算lseeks的程序不喜欢内核文本转换。有些人的数据被这个翻译破坏了。小心!”

所以我强烈建议你注意后果。

为什么不使用可以处理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编写了相同的补丁。