我已经实现了自己的NFS服务器,一切正常,但我如何编码不属于ASCII标准的字符? XDR RFC说字符串被编码为ascii,然后删除所有非ascii字符?但是,如果我启动一个我没有写过的nfs服务器,它似乎支持那些字符...
我尝试创建一个名为“hejåäö”的文件夹并在nfs客户端上正确显示,如果我查看使用WireShark发送的数据,我会得到字符串“hej \ 345 \ 344 \ 366”或十六进制“68656a20e5e4f6 “这是什么编码?
还尝试编码“hej 1 + 1 = 2”..
尝试ed UTF-7与åäö配合得很好,但没有配合+所以它不是UTF-7
答案 0 :(得分:1)
代码集看起来像ISO 8859-1或8859-15(由于所显示的符号对两者都是通用的,因此无法分辨)。
规范可能已经过时,您只需要传输具有高位(第8位)位的字符 - 就像其他NFS服务器一样。
这两个代码集之间的差异 - 使用它们的Unicode字符映射 - 显示在此输出中(从diff
派生的文件定义了8859-1和8859-15中字符的Unicode等价物。)< / p>
答案 1 :(得分:0)
如果我记得,NFS服务器对待编码非常糟糕。
文件名中任何字符的字节都不能为0或0x2F,最大长度为255字节。
因此UTF-8编码文件名的流行。