Neovim latin2编码下:asc命令为何不显示8位字符值?
关于Neovim中
:asc命令显示Unicode编码而非latin2字节值的原因 - Neovim(包括Vim)内部统一使用Unicode(UTF-8)存储文本内容,不管你指定何种编码打开文件,文件内容都会被转换为Unicode编码后存入内存。
:asc命令的作用是显示光标所在字符内部存储的Unicode编码值,而非原文件编码对应的字节值。以你提到的罗马尼亚字符Ţ为例:- 原latin2编码文件中,Ţ对应的字节值是222,但当你用
++enc=latin2打开文件时,Neovim会自动将这个字节转换为Unicode的U+0162(十进制354),所以:asc输出的是这个内部存储的Unicode值。
- 原latin2编码文件中,Ţ对应的字节值是222,但当你用
- 如果需要查看字符在原文件编码(latin2)中的字节值,可以使用
g8命令,它会显示光标下字符在当前缓冲区编码对应的字节(十六进制形式,222的十六进制是DE)。
内容的提问来源于stack exchange,提问作者seeseost
相关产品推荐
相关产品推荐

