2008-10-01 3 views
3

Я пытаюсь сделать некоторые из моих кодов более дружелюбными к системам без чистых ascii и задавался вопросом, была ли какая-то конкретная кодировка символов, используемая для НЕОБХОДИМЫХ записей в двоичных файлах ELF, или она довольно нестандартна и основана на создавая системную кодировку файловой системы (или даже непосредственно байты, которые были переданы независимо от того, что создало двоичный файл) (если это так, есть место в двоичном коде, которое указывает кодировку?) Предполагая, что текущая системная кодировка не будет работать очень хорошо для моего использования. думают), являются именами, отличными от ascii, в значительной степени запрещенными или чем-то еще?Существует ли стандартная кодировка для NEEDED записей в ELF?

ответ

1

Насколько я знаю, стандартный способ Unix для работы с символами, отличными от ASCII, должен кодировать их как UTF-8.

3

Формат ELF определяет NEEDED поля как «строка с нулевым завершением» и не говорит больше о кодировке, что в значительной степени подразумевает 8-битную строку ASCII.

Лично я не вижу смысла усложнять спецификацию формата исполняемого файла, которая не дает никакого дополнительного значения для конечного продукта или процесса разработки: пользователь не будет видеть имена библиотек, поэтому им не нужна локализация из них. Вы: может попытаться использовать UTF-8, но фактическое кодирование файловой системы не гарантируется UTF-8. Чтобы убедиться, что вам нужно знать, как ваш целевой компоновщик обрабатывает эти строки.

Смежные вопросы