在读取文件时识别c#代码中的换页符的问题
string contents = File.ReadAllText(file);
我尝试以各种格式进行编码,然后使用UTF-8十六进制,UTF-32十六进制值为该字符运行替换。
在watch window我看到了 '\ f'字符
但当我展开visualizer时,我会看到真正的女性角色
如何识别要搜索的正确字符? \ f或女性符号的某些变体?
我查看了这个网站,了解编码值的变化,但实际上在c#中找不到它的运气:www.fileformat.info/info/unicode/char/2640/index.htm
答案 0 :(得分:1)
对于您是否要查找字符\f
或♀
字符,您的问题有点模糊。
如果您要查找♀
字符,可以使用十六进制代码0x2640,或者直接使用该字符:
var ctn = File.ReadAllText("file.txt", Encoding.UTF8);
int pos = ctn.IndexOf((char)0x2640);
int pos1 = ctn.IndexOf('♀');
澄清:我认为混淆可能来自于字符ALT + 12和字符ALT + 2640经常产生相同的“女性符号”字符这一事实,但这是出于历史原因,因为ALT + 12是在ASCII中,设备控制代码。只有ALT + 2640 Unicode字符专门设计为始终生成♀
符号。
答案 1 :(得分:1)
所以,我今天早上用以下UTF8编码组合和搜索'\ f'
重新运行了所有内容。 string contents = File.ReadAllText(file, Encoding.UTF8);
int pos = contents.IndexOf("\f");
终于受到了欢迎。
我仍然不知道为什么手表和可视化工具以不同的方式显示角色,但这种搜索组合起作用。
谢谢大家。