【发布时间】:2020-08-23 12:51:19
【问题描述】:
我有一个文件,我正在搜索特定的 ascii 字符。
从文件中获取文本后,我运行了以下代码:
var t = text.IndexOf((char)128);
Hexedit 显示我有 HEX 80 字符,即 ascii 字符 128,但 t 最终值为 -1。
我还有其他方法可以搜索这个角色吗?
【问题讨论】:
-
您必须考虑用于保存原始文件的编码,以及用于在字符串中加载该文件内容的编码(您的
text变量)。您有不同的编码格式(ASCII、UTF-8、UTF-16),因此,文件中的一个字符可能由一个或两个字节组成(取决于编码)。当框架转换(char)128时,它使用了默认编码......女巫可能与用于加载文件的编码不同。 -
也许您可以发布更多代码(可能是文件内容/编码和您用于加载文件的代码),以获得更好的上下文。
-
感谢 CicheR。答案是在读取文件时设置适当的编码。