2010-05-14 54 views
2

在一個文件中,我用m-x ucs-insert來插入十六進制字符9e(它在emacs中顯示爲\236)。然而,當C程序讀入時,9e變爲0x9ec2。這c2來自哪裏,我如何擺脫它?C將HEX值從emacs轉換爲不正確的值

+0

您需要發佈您用於閱讀此字符的代碼。 – 2010-05-14 10:31:22

+0

如果我有代碼,我當然會。這是一個二進制可執行文件(代碼我沒有寫)。我可以告訴你的是,我使用fscanf從.txt文件中讀取字符串。 – sepiroth 2010-05-14 10:32:10

回答

4

Unicode字符U + 009E在UTF-8中以字節C2 9E表示(請參閱此手冊converter)。很可能您的emacs設置爲以UTF-8格式保存文件。嘗試使用M-x find-file-literally加載emacs中的文件並查看它是否以\302\236(C2 9E的八進制表示形式)出現。如果是這樣,你可以刪除\302,看看是否能讓程序運行得更好。