在 Latex 中的终端上将 ASCII 码作为字符输出?

在 Latex 中的终端上将 ASCII 码作为字符输出?

如果我有一个字母/字符,我可以使用\number反引号命令输出其 ASCII 值:

*\typeout{\number`a}
97

如果我有“97”,并且想在终端中显示“a”,该怎么办?我想到了\char- 但请注意\char 排版,它不会输出到终端(根据评论删除了\char"97十六进制用法):

*\typeout{\char97}
\char 97

这里应该使用什么正确的命令?

答案1

 {\uccode`A=97
    \uppercase{\typeout{== A ==}}}

将输出字符代码为 97 的字符

答案2

如果您有十六进制值而不是 ASCII 码值,则可以使用^^61来表示a。十六进制数字必须是小写(对于字母 af)。如果您只有 ASCII 码数字,则必须构建自己的表格(如果您想将此类输出与其他材料混合)或使用\uccodeDavid 的巧妙技巧,但后者实际上无法与其他任何东西很好地混合。构建此类表格的一种简单方法是

\makeatletter
\def\asciichar#1{\@nameuse{ascii@\number#1}}
\@namedef{ascii@97}{a}
\@namedef{ascii@98}{b} ... % and all the others
\makeatother

您可以添加一些安全检查来查看内部命令是否实际定义等等。

相关内容