我有一个文件,当我在VI编辑器中打开时,如下所示:
12´<9d>00
12b600
12ɹ00
12çâ00
12Wj00
12«À00
12ùa00
12={00
12°l00
12P¹00
12Ë+00
12^T^^
12±B00
12zN00
12<8e>·00
12^T=00
12E<8f>00
12nß00
CAT或Windows中的相同数据如下所示:
12��00
12b600
12ɹ00
12��00
12Wj00
12��00
12�a00
12={00
12�l00
12P�00
12�+00
1200 --> 4 char
12�B00
12zN00
12��00
12=00 --> 5 char
12E�00
12n�00
我一直在努力将这些数据作为UTF-8在Windows / HDFS中读取,因为它读取为6个char或5个char或4个char。如果我可以识别vi编辑器显示的方式,我可以用6个字符读取每行的文件。当我做OD-C时,它显示为2个字符+ 2个字节+ 2个字符。请给我任何帮助。
答案 0 :(得分:0)
&#34; 6&#34; (无论它实际上是 vi 还是 vim ),都说不出来。在问题的第二部分,奇怪的问号是Unicode 替换字符,暗示您正在向使用UTF-8的终端发送非UTF-8文件
这可能是几个8位字符集/编码中的任何一个(例如ISO-8859- x 系列,或者可能都不是)。由于文件似乎不是 text ,而是某种类型的数据,实际的字符集可能无关紧要。
此行包含 8F
,它在ISO字符集中不可打印,但可以在IBM / Microsoft DOS代码页(可广泛使用或模仿)中打印复活节欧洲和俄罗斯):
12E<8f>00
最终,您可以确定字符集的方式是知道数据应该表示什么,并尝试不同的翻译(使用iconv
或recode
),直到您看到UTF中的可用结果-8。