在我的 c# 代码中,我从 pdf 中提取文本,但是它返回的文本有一些奇怪的字符,如果我在知道 pdf 文档中有文本“CLE action”时搜索“CLE action”,它给出我是假的,但是我发现提取文本后,两个单词之间的空格的ascii字节值为63...
有没有快速修复文本编码的方法?
目前我正在使用这种方法,但我认为它很慢并且只适用于那个角色。有没有适用于所有角色的快速方法?
public static string fix_encoding(string src)
{
StringWriter return_str = new StringWriter();
byte[] byte_array = Encoding.ASCII.GetBytes(src.Substring(0, src.Length));
int len = byte_array.Length;
byte byt;
for(var i=0; i<len; i+=1)
{
byt = byte_array[i];
if (byt == 63)
{
return_str.Write(" ");
}
else
{
return_str.Write(Encoding.ASCII.GetString(byte_array, i, 1));
}
}
return return_str.ToString();
}
这就是我调用此方法的方式:
StringWriter output = new StringWriter();
output.WriteLine(PdfTextExtractor.GetTextFromPage(reader, page, new SimpleTextExtractionStrategy()));
currentText = fix_encoding(output.ToString());