.NET FTP 到大型机 - 法语字符

.NET FTP to Mainframe - French Characters

如何对包含英文和法文字符的文本文件执行 FTP?

正常FTP将法语字符转换为垃圾数据。这在大型机方面造成了很多混乱。

  byte[] fileContent = File.ReadAllBytes(ftpFileLocation);
        Stream requestStream = request.GetRequestStream();
        requestStream.Write(fileContent, 0, fileContent.Length);
        requestStream.Close();

这是一个编码问题。

我使用以下代码解决了这个问题。你可以看到,我没有读取所有的ReadAllByes,而是读取了所有字符串格式的文本并转换为特定的编码。

相同的逻辑在其他语言中也很有用。

byte[] fileContent = Encoding.GetEncoding("iso-8859-1").GetBytes(File.ReadAllText(ftpFileLocation));
                Stream requestStream = request.GetRequestStream();
                requestStream.Write(fileContent, 0, fileContent.Length);
                requestStream.Close();