我收到了一个文本文件,其中的文字是这样的,ãYAHOO.COM。当我在Visual Studio中调试时,我看到的字符值是“ ”c。首先,任何人都可以告诉雅虎之前的角色是什么。它是一个特殊字符还是某个html字符,在调试时我在VS中看到的是什么字符。
所以它是这样的,字符的ascii值变成63.但是当我将值写入文件时,它会生成3个字符,其ascii值大于127.非常奇怪
如何在VB.NET中处理
答案 0 :(得分:1)
找到角色。尝试获取角色的ASCII码:
Response.Write(Asc(YourString.Substring(0, 1)))
清理输入字符串。使用要删除的所有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.Utf8
或System.Text.Encoding.Ascii
。