gpt4 book ai didi

java - 使用 Java 和 Python 的 uuencoded 文件之间的区别

转载 作者:行者123 更新时间:2023-12-02 01:20:55 25 4
gpt4 key购买 nike

我必须将 Python 代码转换为 Java 代码,但我遇到了 uuencoding 问题。

Python 函数:

 import uu
uu.encode("input_file", "output_file")

Java函数:

 MimeUtility.encode(new FileOutputStream(output_file_path), "uuencode");
stream.write(Files.readAllBytes(input_file));

这些函数的结果应该是相同的 uuencoded 文件,但事实并非如此(它们几乎相同)。 Java uuencoded 文件比 Python 大 2 个字节。

问题出在哪里?

编辑:在名称标签 ( <begin><mode><name> ) 之后添加一个额外字节,在结束标签 ( <end> ) 之后添加一个字节

最佳答案

这是一个换行问题。

MIME 始终被定义为使用 CR+LF 作为终止符,但如果使用 Python 等原始编码,则在 Linux 上仅使用 LF。请参阅RFC2045

# https://github.com/python/cpython/blob/2.7/Lib/uu.py

79 out_file.write('begin %o %s\n' % ((mode&0777),name))

您应该将 os.linesep 系统变量设置为 '\r\n',以便它写入 CR+LF 换行符。

关于java - 使用 Java 和 Python 的 uuencoded 文件之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57711598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com