VB.net 读取文本文件时读取 ASCII 代码

本文关键字:读取 ASCII 代码 取文本 net VB 文件 | 更新日期: 2023-09-27 18:32:04

我正在读取 VB.net 代码的文本文件。我想阅读这一行,其中包含一些特殊字符,该字符的 dec 值为 176,十六进制值为 B1,符号为 + 和 - 在 botttom。下面是显示该值的 URL:

http://www.ascii.cl/htmlcodes.htm

如何在值为 176 的 VB.net 中读取该特殊字符

台词是这样的

"2314 Test1  Test2 Test3 12.3 special character that has a Dec value of 176 1234"

每个单词由制表符分隔。

这是我到目前为止所做的:

     reader = File.OpenText(fileInfo.FullName)
    While reader.Peek <> -1
     line = reader.ReadLine()
   End While
   reader.Close()
  reader.Dispose()

我也尝试这样做:

 System.Text.Encoding.GetEncoding(line)

任何帮助将不胜感激。

VB.net 读取文本文件时读取 ASCII 代码

使用StreamReader类的构造函数(来自 System.IO 命名空间):

Using reader As StreamReader = New StreamReader("C:'Users'trashr0x'Desktop'test.txt", System.Text.Encoding.Unicode)
    Dim line As String = reader.ReadLine()
End Using

您也可以使用 File.ReadAllText 方法(同样,从 System.IO ):

Dim testString as String = File.ReadAllText("C:'Users'trashr0x'Desktop'test.txt", System.Text.Encoding.Unicode) 

我已将编码设置为 Encoding.Unicode .如果您不知道文件的编码,可以尝试其他值:

  • Encoding.ASCII(正如@Jon Skeet在您的问题评论中指出的那样,此符号不是ASCII)
  • Encoding.UTF32
  • Encoding.UTF8
  • Encoding.UTF7
  • Encoding.BigEndianUnicode
  • Encoding.Default(默认编码为 ANSI)

一个有趣的读物作为旁白:Joel Spolsky的"每个软件开发人员绝对,肯定必须了解Unicode和字符集(没有借口!)的绝对最低限度"。