如何阅读以下文字?
‰‰ #îõ'þüŠê'¯õù,†ƒ - # ª÷'þ'“' ª“îù)øþ|ùý¤ª-ùýî'õ•þø-¤(#•¢¢¢ ø¤÷¢ùê'¯õùîõ'þü#^ a-ú¤ ^ b•|øû÷¢ð'ö ¤ ù¢÷÷©^cƒ #,€ «。:õ¬ø¤Š >¢上#...... I / S ... / ...€... S} {TKハ^#†/“€€#} {BF#ª”îùû'ý î'õ•þø-¤ý#ª“îùû'ýî'õ•þø-¤ý - ¥õøöû“#^ C
我使用此代码但不显示所有字符
FileStream fs = new FileStream(open.FileName, FileMode.Open, FileAccess.Read);
System.Text.Encoding enc = System.Text.Encoding.UTF8 ;
byte[] data = new byte[fs.Length];
fs.Read(data, 0, data.Length);
string text = enc.GetString(data);
并显示文字:
•••#îÃμâ 〜üüŠêâ€~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ““Õâùý ¤ªªÃ¼Ã½ÃÃâ€â€¢Ã¢Ã•¤¤(#†¢¢¢Ã¢Ã¢Ã¢Ã¢Ã¢Ã¢〜Ã〜ÃÃÃù îÃμâ€~þü#^ AA€”ú¤Âö ^ bâ€|Ã|Ãâââ〜ÃÂÂÂÂÂù¹ ¢¢Â^ ^ c c c “«Â« ÃμÂÂø¤Å€ÃÃÃ╆•/â€â€¢}传统知识{@ a†††Æ' #†/“•“BI{{ª“Ãáùûâ€〜†îâ€~Ãμ•€Ã¾Ã¸â”¤ý#A ““â€〜â€〜â€〜â€〜â€〜
这是一个TEXT DOS 并编码此文本是:
IBM037
IBM437
IBM500
ASMO-708
DOS-720
ibm737
ibm775
ibm850
ibm852
IBM855
ibm857
IBM00858
IBM860
ibm861
DOS-862
IBM863
IBM864
IBM865
cp866
ibm869
IBM870
windows-874
cp875
shift_jis
gb2312
ks_c_5601-1987
big5
IBM1026
IBM01047
IBM01140
IBM01141
IBM01142
IBM01143
IBM01144
IBM01145
IBM01146
IBM01147
IBM01148
IBM01149
utf-16
unicodeFFFE
windows-1250
windows-1251
Windows-1252
windows-1253
windows-1254
windows-1255
windows-1256
windows-1257
windows-1258
Johab
macintosh
x-mac-japanese
x-mac-chinesetrad
x-mac-korean
x-mac-arabic
x-mac-hebrew
x-mac-greek
x-mac-cyrillic
x-mac-chinesesimp
x-mac-romanian
x-mac-ukrainian
x-mac-thai
x-mac-ce
x-mac-icelandic
x-mac-turkish
x-mac-croatian
utf-32
utf-32BE
x-Chinese-CNS
x-cp20001
x-Chinese-Eten
x-cp20003
x-cp20004
x-cp20005
x-IA5
x-IA5-German
x-IA5-Swedish
x-IA5-Norwegian
us-ascii
x-cp20261
x-cp20269
IBM273
IBM277
IBM278
IBM280
IBM284
IBM285
IBM290
IBM297
IBM420
IBM423
IBM424
x-EBCDIC-KoreanExtended
IBM-Thai
koi8-r
IBM871
IBM880
IBM905
IBM00924
EUC-JP
x-cp20936
x-cp20949
cp1025
koi8-u
iso-8859-1
iso-8859-2
iso-8859-3
iso-8859-4
iso-8859-5
iso-8859-6
iso-8859-7
iso-8859-8
iso-8859-9
iso-8859-13
iso-8859-15
x-Europa
iso-8859-8-i
iso-2022-jp
csISO2022JP
iso-2022-jp
iso-2022-kr
x-cp50227
euc-jp
EUC-CN
euc-kr
hz-gb-2312
GB18030
x-iscii-de
x-iscii-be
x-iscii-ta
x-iscii-te
x-iscii-as
x-iscii-or
x-iscii-ka
x-iscii-ma
x-iscii-gu
x-iscii-pa
utf-7
utf-8
答案 0 :(得分:3)
要阅读文件,您需要知道此文件中使用的编码。
如果你不知道,你可以遍历所有编码,看看是否找到了有效的编码。
const string FileName = "FileName";
foreach (var encodingInfo in Encoding.GetEncodings())
{
try
{
var encoding = encodingInfo.GetEncoding();
var text = File.ReadAllText(FileName, encoding);
Console.WriteLine("{0} - {1}", encodingInfo.Name, text.Substring(0, 20));
// put break point and check if text is readable here
}
catch (Exception ex)
{
Console.WriteLine("Failed: {0}", encodingInfo.Name);
}
}
免责声明:假设这是一个文本文件,假设文件不是很大。
答案 1 :(得分:0)
好吧,看起来你正在尝试打开一个.dat文件,它可能是用字节格式编写的
尝试以下代码
File readThis = new File("file directory");
byte[] aByte = new byte[(int)readThis.length()];
FileInputStream Fis = new FileInputStream(readThis);
Fis.read(aByte);
System.out.println(Contents: "+aByte);
Fis.close();
让我知道它是怎么回事:))