如何处理VB.NET中的特殊字符

时间:2011-07-20 12:32:05

标签: html vb.net visual-studio ascii

我收到了一个文本文件,其中的文字是这样的,ãYAHOO.COM。当我在Visual Studio中调试时,我看到的字符值是“ ”c。首先,任何人都可以告诉雅虎之前的角色是什么。它是一个特殊字符还是某个html字符,在调试时我在VS中看到的是什么字符。

所以它是这样的,字符的ascii值变成63.但是当我将值写入文件时,它会生成3个字符,其ascii值大于127.非常奇怪

如何在VB.NET中处理

3 个答案:

答案 0 :(得分:1)

  1. 找到角色。尝试获取角色的ASCII码:

    Response.Write(Asc(YourString.Substring(0, 1)))
    
  2. 清理输入字符串。使用要删除的所有ASCII字符创建一个数组arrCh(),并使用以下字符循环字符串:

    YourString = YourString.Replace(Chr(arrCh(i)),"")
    

答案 1 :(得分:0)

在记事本中打开文本文件,然后尝试“另存为...”。如果文件是ANSI还是UNICODE?

如果是ANSI,则将副本另存为UNICODE并使用新文件重试。

许多字符在Windows中可以从ANSI文件中显示,但如果没有将文件显式定义为Unicode(由文件的前2个字节中的值255,254标识),Visual Basic“拒绝”这样做)

答案 2 :(得分:0)

读取文件时必须指定正确的编码(与用于编写文件的编码相同)。例如,如果您使用StreamReader读取文件,则可能包含以下代码:

Dim reader As New StreamReader(myFileStream, System.Text.Encoding.Default)

第二个参数表示编码。这里我们使用默认编码(ANSI)。如果您使用此编码时有一些未知或奇怪的字符,则可以尝试使用其他编码,例如System.Text.Encoding.Utf8System.Text.Encoding.Ascii