当前位置:   article > 正文

itextsharp 获取文本_在C#中使用iTextSharp读取pdf内容

c# itextsharp 读取

小编典典

在.Net中,一旦有了一个字符串, 便有了一个字符串 ,并且它 始终 是Unicode

。实际的内存实现是UTF-16,但这并不重要。永远不要将字符串分解为字节,并尝试将其重新解释为不同的编码,然后将其拍回为字符串,因为这样做没有意义,并且几乎总是会失败。

您的问题是这一行:

currentText = Encoding.UTF8.GetString(Encoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.UTF8.GetBytes(currentText)));

我将其分成几行来说明:

byte[] bytes = Encoding.UTF8.GetBytes("ی"); //bytes now holds 0xDB8C

byte[] converted = Encoding.Convert(Encoding.Default, Encoding.UTF8, bytes);//converted now holds 0xC39BC592

string final = Encoding.UTF8.GetString(converted);//final now holds ی

该代码将混淆127 ASCII屏障以上的所有内容。删除重新编码行,您应该会很好。

旁注,很可能任何创建字符串的操作都会错误地进行,实际上并不太常见。但是您需要先解决该问题, 然后

再string在byte级别上解决该问题。

编辑

该代码应与上面的代码完全相同,只是应删除一行。另外,无论您使用什么显示文本,请确保其支持Unicode。另外

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/1019020
推荐阅读
  

闽ICP备14008679号