libqrencode(py2、py3和pypy)基于cffi的快速、健壮和不完全绑定

libqrencode-cffi的Python项目详细描述


对于 libqrencode(http://fukuchi.org/works/qrencode/index.en.html)。

python 2、python 3和pypy兼容!

安装

$ pip install libqrencode-cffi

示例

>>> import libqrencode as qr
>>> qrc = qr.QRCode("Hello, world!")

# The raw QR code can be accessed, where each item is a bitfield containing
# information about that portion of the code (see DATA_* constants).
>>> qrc.get_raw_data()
[193, 193, 193, 193, ...  3, 2, 2, 3, 3]

# If PIL is installed, a PIL image of the QR code can be created:
>>> qrc.get_im(border=3)
<PIL.Image.Image image mode=L size=81x81 at ...>

# And if lxml.etree / xml.etree is available, an SVG can be generated:
>>> qrc.get_svg_etree()
<Element g at ...>
>>> qrc.get_svg_string()
'<g><rect fill="white" height="21" width="21" x="0" y="0"/>...<rect fill="black" height="1" width="1" x="20" y="19"/></g>'

常数

编码模式(参见https://en.wikipedia.org/wiki/QR_code#Encoding):

  • MODE_NUL(qrencode内部)
  • MODE_NUM
  • MODE_AN
  • MODE_8(默认值)
  • MODE_KANJI
  • MODE_STRUCTURE(libqrencode不完全支持)
  • MODE_ECI(libqrencode不完全支持)
  • MODE_FNC1FIRST(libqrencode不完全支持)
  • MODE_FNC1SECOND(libqrencode不完全支持)

纠错模式:

  • ECLEVEL_L(7%;默认值)
  • ECLEVEL_M(15%)
  • ECLEVEL_Q(25%)
  • ECLEVEL_H(30%)

原始数据位掩码:

  • DATA_BW(1=黑色/0=白色)
  • DATA_DATA_AND_ECC(数据和ECC代码区)
  • DATA_FORMAT_INFO(格式信息)
  • DATA_VERSION_INFO(版本信息)
  • DATA_TIMING_PATTERN(计时模式)
  • DATA_ALIGNMENT_PATTERN(对齐模式)
  • DATA_FINDER_PATTERN(查找模式和分隔符)
  • DATA_NON_DATA(非数据模块(格式、定时等))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java有没有工具可以将zephyr转换为velocity模板?   java在安卓 studio中从JSON响应中获取值   jvm如何在Java中设计一个好的permgen空间字符串?   java如何防止Rest webservice使用被盗令牌进行身份验证   java无法遍历列表JSTL   找不到用于ResourceServerTokenServices的java Bean SpringSecurityOauth2   java子字符串替换问题   爪哇玻璃鱼3。十、 以编程方式处理任意HTTPSession的终止   java如何检查输入是否为整数,并在最后添加一个命令来重新启动while循环?   引发java ical4j 1.0.6不可解析日期异常   Java等价于Delphi的DBCtrlGrid?   如果发生错误,java将查找下一个预期标记ANTLR 3   java自打开应用程序(创建锁屏)   java为什么netty有自己的ConcurrentHashMap?   Gradle任务中的java拉取和运行依赖项   继承与Java继承的混淆   java使用shell脚本中的版本执行jar   java我无法让Sqlite数据库与带有Maven的JavaFX应用程序IDE Eclipse包正确通信   java控制台日志未通过org打印。阿帕奇。hadoop。mapreduce。作业的waitForCompletion(true)方法   JAVAlang.NoSuchMethodError:apachestorm螺栓中的spring getrequest