gpt4 book ai didi

unicode - 如何让 vim 显示文件数据的逐字节表示

转载 作者:行者123 更新时间:2023-12-04 00:15:15 27 4
gpt4 key购买 nike

我不希望 vim 以任何特定于编码的方式解释我的数据。换句话说,当我在 vim 中时,我希望光标所在的字符对应于实际字节,而不是该字节的 utf*(等)表示。

我需要使用 vim 来分析由其他人(使用其他软件)造成的 Unicode 转换错误引起的问题,因此重要的是我看到了实际存在的内容。

例如,在 Cygwin 的 vim 中,我已经能够将 UTF-8 BOM 视为

 [START OF FILE DATA]



太棒了。我认为这是一个 UTF-8 BOM,如果我想知道每个字符的十六进制是什么,我可以将光标放在字符上并使用“ga”。

我最近得到了一台合适的 Linux 机器(Fedora)。在/etc/vimrc 中,这一行存在

set fileencodings=ucs-bom,utf-8,latin1



当我在这台机器上查看 UTF-8 BOM 时,BOM 是完全隐藏的。

当我将以下行添加到 ~/.vimrc

set fileencodings=latin1



我懂了





前 3 个字符是 BOM(当 ga 用于它们时)。我不知道最后三个字符是什么。

有一次,我什至看到 UTF-8 BOM 表示为“feff”——UTF-16 BOM。

不管怎样,你看到了我的问题。我需要确切地查看我的文件中的内容,而无需 vim 为我解释字节。我知道我可以使用 xxd、od 等,但 vim 作为分析工具一直非常方便。另外,我希望能够编辑文件并保存它们而不会出现任何转换问题。

谢谢你的帮助。

最佳答案

使用 'binary'模式:

:edit ++bin file

或者
vim -b file

来自 :help 'binary' :

The 'fileencoding' and 'fileencodings' options will not be used, the file is read without conversion.

关于unicode - 如何让 vim 显示文件数据的逐字节表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12219875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com