3

我正在尝试使我的一些代码对非纯 ascii 系统更加友好,并且想知道是否有特定的字符编码用于 ELF 二进制文件中的 NEEDED 条目,或者它是否相当不标准并且基于创建系统的文件系统编码(甚至直接传递给创建二进制文件的字节)(如果是这样,二进制文件中是否有任何地方指定编码?假设我认为当前的系统编码对我的使用效果不佳) ,非ascii名称几乎被禁止还是其他什么?

4

2 回答 2

3

ELF 格式将 NEEDED 字段指定为“以空字符结尾的字符串”,并且没有说明更多关于编码的信息,这几乎暗示了 8 位 ASCII 字符串。

我个人认为复杂的可执行文件格式规范没有任何意义,因为它不会为最终产品或开发过程提供任何附加价值:用户不会看到库名称,因此他们不会关心其本地化。您可以尝试使用 UTF-8,但不保证实际的文件系统编码是 UTF-8。为确保您需要知道目标链接器如何处理这些字符串。

于 2008-10-01T05:45:09.033 回答
1

据我所知,处理非 ASCII 字符的标准 Unix 方法是将它们编码为 UTF-8。

于 2008-10-01T05:34:03.333 回答