我正在阅读关于unicode的这篇文章 - http://www.linuxjournal.com/content/unicode
为了更好地理解这个概念,在VIM中我保存了unicode字符'ഒ'U+ 0D12.当我切换到十六进制模式(使用:%!xxd命令)时,我看到以下内容:
0000000:e0b4 920a ....
\ 0a是结尾\n.但其他十六进制值对我没有任何意义.任何人都可以对此有所了解吗?
U+0D12 是un的unicode代码点.E0 B4 92 是以UTF-8编码的三个字节的十六进制表示.xxd 不知道或不关心unicode代码点,所以它默认执行它应该做的事情:它显示你给它的每个字节的十六进制值.如果你很好奇,ga在Vim中点击会以各种格式显示光标下的字符值:
<?> 3346, Hex 0d12, Octal 6422
Run Code Online (Sandbox Code Playgroud)
并g8显示其十六进制值:
e0 b4 92
Run Code Online (Sandbox Code Playgroud)
如果您非常好奇,请:%!xxd -b显示这些字节的二进制值:
11100000 10110100 10010010
Run Code Online (Sandbox Code Playgroud)