在Windows Notepad ++中打开Unix文件?

问题描述 投票:0回答:1

我从供应商处收到一份文件,我按照SFTP下载。我们的系统都在Windows上运行。

当我在Notepad ++中打开文件时,状态栏显示“UNIX”和“UTF-8”特殊字符无法正确显示。

enter image description here

我试图将文件转换为Notepad ++允许的不同格式,但没有人将char'OSC'转换为德语字母'ä'。这是一个已知的Unix-Windows事物吗?我的google-foo显然不够好。

  1. 我应该尝试哪种转换正确显示文件?
  2. 如何在C#中以编程方式实现相同的功能?
c# unix text notepad++ codepages
1个回答
2
投票

在Windows上常见的是文件的编码与编辑器甚至其xml标头所说的不匹配。人们很草率。也许它真的是UTF-16,或者是非标准的Windows扩展ascii,我认为可能是cp-1252。 (这在* nix上并不常见,因为我们通常只使用utf-8,不需要其他人......不要说* nix用户不那么草率)

要弄清楚它是哪种编码,我会复制一份文件,然后删除那些没有问题的位(将Mägenwil留作整个文件)然后保存,然后使用linux命令“file”来说明什么正确的编码是(仅对小文件可靠...它不会读取整个文件;也许notepad ++会做同样的事情)。删除其他位的原因是它可能是编辑器用于检测的UTF-8的混合,加上其他东西。

我会尝试在linux中的iconv命令进行测试。例如:

iconv -f UTF-16 -t UTF-8 -o outfile infile

任何编码转换都应该可以用C#或任何特色语言进行,只要你知道它是如何被肢解的,这样你就可以反转它。如果你发现它是utf-8的一部分并且是其他部分,那么请记住不要转换整个文件,而只是转换重要的部分。

© www.soinside.com 2019 - 2024. All rights reserved.