C#表格Feed /女性签名字符'♀'替换问题

时间:2016-06-22 17:20:06

标签: c# string str-replace

在读取文件时识别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

2 个答案:

答案 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");

终于受到了欢迎。

我仍然不知道为什么手表和可视化工具以不同的方式显示角色,但这种搜索组合起作用。

谢谢大家。