C#搜索字符串中的扩展ascii字符
我有一个文件,我正在搜索特定的ascii字符 从文件中获取文本后,我运行了以下代码:C#搜索字符串中的扩展ascii字符,c#,search,hex,ascii,C#,Search,Hex,Ascii,我有一个文件,我正在搜索特定的ascii字符 从文件中获取文本后,我运行了以下代码: var t=text.IndexOf((char)128) Hexedit显示我有十六进制80的字符,即ascii字符128,但t的值为-1 有没有其他方法可以搜索这个字符?我发现我必须像下面那样适当地更改编码,以便能够按预期搜索字符串。就我而言,情况如下: var text = File.ReadAllText(filename, Encoding.UTF7); 您必须考虑用于保存原始文件的编码,以及用于在
var t=text.IndexOf((char)128)代码>
Hexedit显示我有十六进制80的字符,即ascii字符128,但t的值为-1
有没有其他方法可以搜索这个字符?我发现我必须像下面那样适当地更改编码,以便能够按预期搜索字符串。就我而言,情况如下:
var text = File.ReadAllText(filename, Encoding.UTF7);
您必须考虑用于保存原始文件的编码,以及用于在字符串中加载该文件内容的编码(您的文本
变量)。您有不同的编码格式(ASCII、UTF-8、UTF-16),因此,文件中的字符可以由一个或两个字节组成(取决于编码)。当框架转换(char)128
时,它使用默认编码。。。witch可能不同于用于加载文件的witch。也许您可以发布更多代码(可能是文件内容/编码以及用于加载文件的代码),以获得更好的上下文。谢谢CicheR。答案是在读取文件时设置适当的编码。