zoukankan      html  css  js  c++  java
  • 【python问题】python 读取pdf文件时,通过string.decode("utf-16")解析字符串时,因缺少字节导致程序崩溃的问题

    参考:https://blog.csdn.net/roymno2/article/details/71628128ou(感谢大佬)

    【问题背景】

      最近有一个任务,需要使用python2.7去读取pdf文件内容。使用的模块是pypdf。当我获取到pdf其中的一页page时,调用page.mergeScaledTranslatedPage()这个函数处理时,报了下面的错误:

    【问题原因】:

      这个错误是什么意思呢?咋一看跟解码和utf16有关。 

      这个python错误的意思是,decode("utf-16") 这个操作,碰到了一个单个字节的回车(0x0A),utf-16中每个字符应该是2个字节,如果是UTF-16大端,就是 00 0A,如果是UTF-16 小端(也叫UCS-2小端)的编码就是0A 00。

      这个错误就是在UTF-16 小端的情况下,少了后半个字符。即图中红色字符所指的位置,有个0A,它后面缺少了00。

      

     【解决办法】:

      解决方法是在decode时,用 decode("utf-16","ignore") 即加上ignore这个选项,把这个错误忽略掉。

  • 相关阅读:
    URI 和 URL
    TCP/IP协议
    TCP/IP 通信传输流
    Python 之 函数可变参数和关键字参数
    Python 之装饰器decorator
    Python 之进程
    Android
    Redis持久化(persistence)
    python正则表达式
    selenium+python定位iframe元素
  • 原文地址:https://www.cnblogs.com/coreLeo/p/15499168.html
Copyright © 2011-2022 走看看