为图像现金信件执行的 tiff 到二进制字符串转换的问题

Issue with tiff to binary string conversion performed for image cash letter

我编写了生成 x9.37 ICL 文件的整个程序。我遇到的唯一问题是记录 52 的图像数据部分。当我使用 x9 验证器工具和其他工具进行验证时,ICL 文件在字段 19 的记录 52 上中断。它无法重新创建图像表单二进制字符串。如果我删除支票信息并尝试发送一个空文件,它会顺利通过。它能够正确读取 01 > 10 > 20 > 25 > 50 > 52 > 70 > 90 > 99 中的所有记录和字段。我只是不知道为什么它在格式正确时无法与图像一起使用( 240dpi,B&W Group IV Tiff,文件大小小于 200kb)。

我用来将图像转换为二进制字符串的代码片段如下:

public static string ConvertImage(Image image)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            image.Save(ms, ImageFormat.Tiff);
            byte[] imageBytes = ms.ToArray();
            string encodedString = Encoding.Default.GetString(imageBytes);
        }
        return encodedString;
    }

我不确定我哪里搞砸了。非常感谢任何反馈。谢谢

谢谢GrawCube。你问了我所有正确的问题,让我找到了解决方案。我没有写入 StreamWriter,而是将其写入 BinaryWriter,并且能够成功处理 ICL 文件。