LaTeX 中的十六进制渲染器

LaTeX 中的十六进制渲染器

有没有一个包可以在 LaTeX 中将二进制文件渲染为十六进制?我们搜索过,但没找到。

该包应该提供某种命令:

\lsthex{file.ext}

使用file.ext“二进制”文件(在这种情况下是.png文件的头,但内容在这里当然无关紧要)。

结果是这样的:

| 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 |
| 00 00 00 10 00 00 00 10 08 06 00 00 00 1F F3 FF |

答案1

这是一个可以在 MacOs 上运行的版本(并且应该可以在大多数 Unix 机器上运行):

在此处输入图片描述

笔记:

  • 您可以hexdump用不同的 shell 命令替换。此方法将显示该命令的输出。
  • 这需要-shell-escape允许执行 shell 命令的选项。

代码:

\documentclass{article}
\usepackage{graphicx}
\usepackage{listings}

\newcommand{\ShowHexOutput}[2][\jobname.hex]{%
    % #1 = temp file name       
    % #2 = input file name 
    %
    \immediate\write18{hexdump -C #2 > ./#1}%
    \lstinputlisting{./#1}%
}%

\lstset{basicstyle=\tiny\ttfamily}


\begin{document}
The image
\includegraphics[width=0.5\linewidth]{../images/EiffelWide.jpg} 
in hex looks like:

\ShowHexOutput{../images/EiffelWide.jpg}
\end{document}

相关内容