在我的网络应用程序中,我处理数据提要,并在索引单词之前按空格(和其他关键标记)拆分单词。
我的一个文件有一个奇怪的空格字符,我的关键标记列表没有捕获它,这意味着我无法正确处理该文件的那一部分。
如果我查看vi中的文件,有问题的文字如下:
"SKS Shockboard Front QR Mudguard"
然而,最后一个空格不是常规空格,我可以通过运行:%s/\ /_/g
看到它。该文字成为:
"SKS_Shockboard_Front_QR Mudguard"
我需要确定最终的空白字符是什么。我怎么能这样做?
由于
答案 0 :(得分:3)
如果你想使用vim,你可以将光标移动到有问题的角色上,然后按ga
显示角色的ascii值。
ga
的帮助复制如下。
:as[cii] or ga :as :ascii
ga Print the ascii value of the character under the
cursor in decimal, hexadecimal and octal. For
example, when the cursor is on a 'R':
<R> 82, Hex 52, Octal 122
When the character is a non-standard ASCII character,
but printable according to the 'isprint' option, the
non-printable version is also given. When the
character is larger than 127, the <M-x> form is also
printed. For example:
<~A> <M-^A> 129, Hex 81, Octal 201
<p> <|~> <M-~> 254, Hex fe, Octal 376
(where <p> is a special character)
The <Nul> character in a file is stored internally as
<NL>, but it will be shown as:
<^@> 0, Hex 00, Octal 000
If the character has composing characters these are
also shown. The value of 'maxcombine' doesn't matter.
Mnemonic: Get Ascii value. {not in Vi}
答案 1 :(得分:1)
如果您使用的是Mac,则可以使用xxd
工具查看每个字符的十六进制表示(即编码):
/usr/bin/xxd file.txt
然后在非空格空格的位置找到十六进制表示,并在unicode.org上查找。
(另外,如果你经常需要这样做并想留在vim中,你可能会寻找“HexMode”代码,或者直接使用xxd,如下所述:http://www.kevssite.com/2009/04/21/using-vi-as-a-hex-editor/。)< / p>