Phe*_*nix 5 c# encoding byte filestream
我对文件,流和不同的代码页都很陌生.看到这是我的问题:
我得到了文本文件,其中一些是使用代码页Windows-1252创建的,有些仍然是IBM850,有时它们是UTF8.当我导入它们时,我的数据库会显示ä,ö,ü,ß的各种符号,因为我用错误的代码页读取它们.只有当我使用正确的代码页导入它们时,一切正常.
这是我认为可能是一个好方法:
使用代码页X将ä,ö,ü,ß转换为字节数组
例如:
byte[] myAeKl = Encoding.GetEncoding("IBM850").GetBytes("ä");
byte[] myAeGr = Encoding.GetEncoding("IBM850").GetBytes("Ä");
Run Code Online (Sandbox Code Playgroud)
浏览文本文件并将每个字母字节数组与上面的字节数组进行比较.如果发现使用该代码页,否则尝试另一个代码页.
这是我不明白的:我如何比较文本文件中字母的字节与我要查找的字母的字节数组.例如:
if (Textfile.Letter == myAeKl || Textfile.Letter == myAeGr)
...
Run Code Online (Sandbox Code Playgroud)
有没有其他方法来获得正确的代码页?我是否对解决方案有正确的帮助?