从.txt文件asp.net解码文本?

时间:2016-09-28 14:33:53

标签: c# asp.net vb.net decode

我的web proyect中有一个目录:

home.text

在home.txt文件中我有这个文字:

ESPAÑA_BOLSA.xlsx

所以我在vb.net中有这个代码从.txt文件中提取文本:

Public Shared Function GetTextFromTXT() As String       
        Dim FilePath As String = HttpContext.Current.Server.MapPath("~/excel/home.txt")
        ' Creates instance of StreamReader class
        Dim sr As StreamReader = New StreamReader(FilePath)
        ' Finally, loads file to string
        Dim FileContent As String = sr.ReadToEnd().ToString
  Return FileContent
End Function

但是使用此代码我在Filecontent中得到了这个结果:

ESPA�A_BOLSA.xlsx

所以我使用这一行来尝试解码文本,但不起作用:

  FileContent = WebUtility.HtmlDecode(FileContent)

结果应该来自Filecontent字符串:

 ESPAÑA_BOLSA.xlsx

我做错了什么?谢谢,我接受建议

1 个答案:

答案 0 :(得分:3)

您需要使用Encoding的{​​{3}},并传入适当的编码 - 否则默认使用UTF-8。 Encoding.Default可能有效,否则您需要使用特定的编码。我不知道您的文件是如何编码的,因此无法告诉您所需的确切价值,但您可以尝试:

Dim sr As StreamReader = New StreamReader(FilePath, System.Text.Encoding.Default)
' or, as an example - you may need a different encoding
Dim sr As StreamReader = New StreamReader(FilePath, System.Text.Encoding.GetEncoding("Windows-1252"))