(普通) XeTeX:如何从 UTF-8 编码数据中获取单个字节?

(普通) XeTeX:如何从 UTF-8 编码数据中获取单个字节?

我正在使用(普通)XeTeX。我想将已经从 XeTeX 的内部表示读取的任意宏(甚至由 XeTeX 生成)转换为 utf-8 字节流,以便使用需要这种方式数据的复杂宏(二维码生成器)进行处理。目前,我发现的唯一解决方案是使用文件 IO:

\input "QRcode.tex" % Vladan Majerech's http://ktiml.mff.cuni.cz/~maj/QRcode.TeX
\mydata{hěłłǒ אֶרֶץ}
\immediate\openout\QRtmpfile="QRtmp.tex"\relax
\immediate\write\QRtmpfile{\string\XeTeXinputencoding "bytes"}%
\immediate\write\QRtmpfile{\string\QRdata"\mydata"}%
\immediate\write\QRtmpfile{\string\endinput}%
\immediate\closeout\QRtmpfile
\input "QRtmp.tex"\relax
\QRcode\box\QRcodebox
\bye

实际上,通过写入和读取文件系统来重新编码似乎应该是低效的。除了尝试在 TeX 中实现完整的 UTF-8 编码器之外,这是唯一的方法吗?\scantokens文档似乎表明它跳过了编码/解码(并且测试也同意),所以这没有帮助。

相关内容