如果我在 Total Commander 中打开它F3
并按下S
正确的内容将显示。
我试图在 bash 中做同样的事情iconv
:
iconv -f ASCII -t UTF8 input.txt
但我得到了这个:
iconv: illegal input sequence at position 0
如果我从CP850
or开始CP852
:
iconv -f CP850 -t UTF8 input.txt
iconv -f CP852 -t UTF8 input.txt
我将在输出中包含一些不需要的字符:
̦ŮŢŮ
如何在 Linux 终端中也有请求的内容?Total Commander 显示时使用了什么编码ASCII (DOS-charset)
?或者它是一个错误iconv
?
它不是 ASCII,因此您无法将文件从 ASCII 转换为其他任何内容。经过一番调查,编码
CP437
似乎给出了“好的”视觉表示。以供将来参考,这是我确定这一点的方式。我建议这样
CP437
做会很好ASCII 是 7 位编码,您的文件以一堆字节开始
0xdb
,即 8 位值。如果它(部分)是图形的,它可能是 8 位 DOS 代码页之一。我尝试使用 CP850 和 CP437,后者似乎给出了一个明智的画面。
有道理,因为CP437 是原始的 IBM PC 代码页,而CP850 是 Latin-1代码页。前者有更多的绘图字符,比如组合的单/双线,以及垂直减半的框,这两者在 CP850 中都被一些重音字母替换。
(好吧,在 SE 上,这里看起来不太好,但你明白了。)