2008-10-01 74 views
3

我想讓我的一些代碼對非純粹的ascii系統更友好一些,並且想知道是否有一個特定的字符編碼用於ELF二進制文件中的NEEDED條目,或者它是非常不規範的,並且基於創建系統的文件系統編碼(或者甚至直接傳遞給創建二進制文件的字節)(假如當前系統編碼不適合我的用法,想想),非ASCII名稱幾乎被禁止或其他?ELF中是否有標準編碼需求條目?

回答

1

據我所知,處理非ASCII字符的標準Unix方式是將它們編碼爲UTF-8。

3

ELF格式將NEEDED字段指定爲「以null結尾的字符串」,並沒有多說關於編碼,這幾乎意味着8位ASCII字符串。

我個人沒有看到複雜化可執行文件格式規範的任何問題,它不會爲最終產品或開發過程提供任何附加值:用戶不會看到庫名稱,因此他們不會關心本地化的其中。您可以嘗試使用UTF-8 可能,但實際的文件系統編碼不保證是UTF-8。爲了確保你需要知道你的目標鏈接器如何處理這些字符串。