2010-05-14 166 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,看看是否能让程序运行得更好。

相关问题