基本上,我正在使用Python的一些文本库来分析文本的转换。Python的“剪切”实际上并没有将文本剪切成单独的文件,它只是有一个开始字符和结束字符的位置来提取字符串。例如:
the quick brown fox jumped over the lazy dog
我的python代码可能会通过指定4、9来删除“quick”。然后我将C用于一个GUI程序,并尝试使用Python指定的这些值,它可以工作。。。大多数情况下。似乎光学字符识别程序将pdf转换成文本文件,其中包含一些奇怪的UTF字符,这将改变C端的计数。在
PDF-txt转换奇数字符包括一个“fi”字符,而不是“f”和“i”字符(可能还有其他字符,它们是大文件)。现在这不会是一个问题,除非C说这是一个字符,Python(以及Notepad++)考虑这3个字符的位置。在
C#:“fi”长度=1个字符。在
Python/记事本++:“fi”长度=3个字符。在
最后,由于字符数的不同,给了我一个偏移片段。就像我说的,当我在python(linux)中运行它并尝试输出它完美的剪裁,然后我将文本文件传输到Windows和Notepad++中,确认它们的位置是正确的。C实际上只是将“fi”计算为一个字符,Notepad++和Python出于某种原因将其计为3个字符。在
我需要一种方法从Python端或C端桥接这种差异。在
你必须区分字符和字节。utf8是一种字符编码,其中一个字符最多可以有4个字节。所以notepad++可能会显示字节位置,Python可以同时处理字节和字符串。在C中,可能已经将文件作为文本文件读取,这也会产生字符串。在
要在python中读取字符串,请使用:
相关问题 更多 >
编程相关推荐