我想使用 Lua 将 pdf 存储在 LuaLaTeX 文档的正文中,并在编译文档时将其提取出来。
要对文档进行编码,我使用https://base64.guru/
Windows 实用程序certutil -encodehex -f test.txt enc.txt 0x40000001
因此,该文件从 LuaLaTeX 文档中卸载:
\directlua{%
io.output("base64.tex");
io.write((mime.unb64("U3RyaW5nLTENClN0cmluZy0y")));}
源文件由两行组成:
String-1
String-2
解码后我得到 3 行(出现空行)
String-1
String-2
pdf文件也是如此。它的大小在编码/解码后增加。
我找到了文档:https ://w3.impa.br/~diego/software/luasocket/mime.html#unb64但无法弄清楚。在我看来,问题在于这是由于解码时的 \r\n 序列,这是Windows风格的行结束符。
文本仅适用于此编码器https://appdevtools.com/base64-encoder-decoder
U3RyaW5nLTEKU3RyaW5nLTI=
- 这是一个工作版本
U3RyaW5nLTENClN0cmluZy0y
- 这不是一个工作的(这是所有编码器在输出端都有的!)
certutil -encodehex -f test.txt enc.txt 0x80000001
(使用 \n 行终止符而不是 \r\n) - 这个选项也不起作用
帮助让它发挥作用。
提前致谢。
base64 编码器与它无关 - 你输入的将是输出
是否会选择 CR 或 CRLF - 取决于文本编辑器(或生成或显示文本的组件)
解码后,只需将 CRLF 替换为 LF 即可你自己
这就是它的工作原理: