如何强制emacs(或任何编辑器)像读取ASCII格式的文件一样读取文件?

如何强制emacs(或任何编辑器)像读取ASCII格式的文件一样读取文件?,emacs,ascii,non-ascii-characters,Emacs,Ascii,Non Ascii Characters,我在man或info页面上找不到这个答案,也没有在这里或谷歌上搜索。我有一个文件,本质上是一个文本文件,但它在保存时不知怎么搞砸了。(我认为文件前面有几个奇怪的字节。) 我可以使用head或cat打开文件,但不使用任何编辑器 最后,我想做的就是在emacs中打开文件,删除“凌乱”字符,并在清理后保存。但是,该文件很大,所以我需要一些功能强大的东西,比如emacs,才能打开它 否则,我想我可以尝试创建一个脚本,逐行读取,强制脚本以文本格式读取,然后编写。但我想快点,因为我不会再重复了 谢谢! Mi

我在
man
info
页面上找不到这个答案,也没有在这里或谷歌上搜索。我有一个文件,本质上是一个文本文件,但它在保存时不知怎么搞砸了。(我认为文件前面有几个奇怪的字节。)

我可以使用
head
cat
打开文件,但不使用任何编辑器

最后,我想做的就是在emacs中打开文件,删除“凌乱”字符,并在清理后保存。但是,该文件很大,所以我需要一些功能强大的东西,比如emacs,才能打开它

否则,我想我可以尝试创建一个脚本,逐行读取,强制脚本以文本格式读取,然后编写。但我想快点,因为我不会再重复了

谢谢!
Mike

您可以使用编辑文件,它允许您以十六进制编辑文件。这将让你准确地看到那些冒犯的角色是什么,并删除它们


听起来您要么在文件中得到了另一行结尾(例如:在*nix系统中回车),要么以意外的编码保存

您可以使用编辑文件,这样您就可以用十六进制编辑文件。这将让你准确地看到那些冒犯的角色是什么,并删除它们

perl -i.bk -pe 's/[^[:ascii:]]//g;' file
听起来您要么在文件中得到了另一行结尾(例如:在*nix系统中回车),要么以意外的编码保存

perl -i.bk -pe 's/[^[:ascii:]]//g;' file
在此处找到此perl one liner:


在这里找到了这个perl一行:

您可以使用
字符串来获取“文件中的可打印字符”。您可能需要使用
--编码
,尽管我只使用过它从可执行文件中获取ascii字符串

您可以使用
字符串
获取“文件中的可打印字符”。您可能需要使用
--编码
,尽管我只使用过它从可执行文件中获取ascii字符串

尝试在Emacs中按字面意思查找文件。

尝试在Emacs中按字面意思查找文件。

您尝试过使用Emacs吗。?你有什么错误吗?一般来说,默认情况下Emacs在这种情况下做得很好。您尝试过使用Emacs吗。?你有什么错误吗?一般来说,默认情况下Emacs在这种情况下做得不错。是的,它以unicode UTF-16格式保存,带有一点endian前缀。()“修复”了它——黑客作业——只删除了前2个字节。是的,它以unicode UTF-16格式保存,带有一点endian前缀。()“修复”了它——黑客作业——只需删除前2个字节。