普贤教程 › 包参考
qrcode 包
QR 码生成
| 项 | 值 |
|---|---|
| 包名 | qrcode |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | qrcode.px |
| 分类 | 图形与媒体 |
| 文件数 / 行数 | 4 / 1625 |
安装与引入
bash
pxpkg init # 首次 pxpkg add qrcode@0.2.0 pxpkg install
px
import qrcode所属分类教程:图形与媒体
公开接口
| 函数 | 参数 |
|---|---|
qrcode_encode | s, ec |
qrcode_encode_at | s, ec, v, mask |
qrcode_ascii | matrix |
qrcode_pbm | matrix, quiet |
qrcode_version | matrix |
qrcode_decode | matrix |
qrcode_svg | matrix, scale, margin |
其余 74 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
qr_bits_append | buf, value, nbits |
qr_bits_to_bytes | buf |
qr_cci_len | v, mode |
qr_cci_len_byte | v |
qr_choose_mode | s |
qr_encode_data | s, mode, buf |
qr_alnum_val | c |
qr_data_bits_len | s, mode |
qr_fits | v, ec, mode, s |
qr_choose_version | ec, mode, s |
qr_build_codewords | s, v, ec, mode |
qr_make_blocks | data_cw, v, ec |
qr_blocks_ecc | v, ec |
qr_interleave | blocks |
qr_new_matrix | v |
qr_draw_finder | m, func, top, left |
qr_draw_timing | m, func |
qr_draw_alignment | m, func, v |
qr_reserve_format | m, func, v |
qr_reserve_version | func, v |
qr_draw_function | v |
qr_bch_rem | value, poly, degree |
qr_format_bits | ec, mask |
qr_version_bits | v |
qr_draw_format | m, v, bits15 |
qr_draw_version | m, v |
qr_place_data | m, func, bits |
qr_mask_cond | mask, r, c |
qr_apply_mask | m, func, mask |
qr_penalty_n1 | m |
qr_penalty_n2 | m |
qr_penalty_n3 | m |
qr_penalty_n4 | m |
qr_penalty | m |
qr_encode_build | s, ec, fixed_version, fixed_mask |
qr_copy_matrix | m |
qr_read_fmt_a | m |
qr_read_fmt_b | m, v |
qr_popcount | x |
qr_decode_format | m, v |
qr_unmask | m, func, mask |
qr_read_data_bits | m, func |
qr_bits_from_list | bits, nbytes |
qr_deinterleave | seq, v, ec |
qr_recover_data | codewords, v, ec |
qr_byte_hex | b |
qr_parse_data | data, v |
qr_decode_matrix | matrix |
gf_tables | |
gf_mul | a, b |
gf_pow | a, n |
rs_generator | degree |
rs_encode | data, degree |
list_copy | lst |
gf_inv | a |
gf_poly_eval | poly, x |
gf_poly_mul | a, b |
gf_poly_derivative | poly |
rs_syndromes | msg, nsym |
rs_berlekamp_massey | synd |
gf_poly_eval_asc | poly, x |
rs_find_error_positions | err_loc |
rs_error_magnitudes | err_loc, synd, err_pos |
rs_correct | msg, nsym |
qr_ec_bits | ec |
qr_size | version |
qr_parse_groups | v, ec |
qr_data_count | v, ec |
qr_format_code | ec, mask |
qr_check_ec | ec |
qrcode_encode_auto | s, ec="M" |
qrcode_matrix_size | matrix |
qrcode_module_at | matrix, row, col |
qrcode_count_black | matrix |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/qrcode —— QR 码生成 ------------------------------------------------------------ 纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。 qrcode_encode(s, ec) → Ok([version, mask, matrix]) | Err 自动选版本+最优掩码 qrcode_encode_at(s, ec, v, mask) → Ok([version, mask, matrix]) | Err 固定版本/掩码(测试与精确控制) qrcode_decode(matrix) → Ok(str) | Err 解码(RS 纠错自动修正 ≤ 容量一半错误码字) qrcode_ascii(matrix) → str "██"/" " 终端渲染(含 4 模块静区) qrcode_svg(matrix, scale, margin) → str SVG 矢量(默认 scale=4, margin=4;XML 合法可内联) qrcode_pbm(matrix, quiet) → str PBM 位图(P1;quiet 为静区模块数,默认 4) qrcode_version(matrix) → int 矩阵边长对应的版本 矩阵表示:[[bool...]](行×列,true=深色);模式自动 numeric/alnum/byte (UTF-8 字节);内容超出 v1-10 容量 → Err。 实现:qr_core.px(编码/交织/放置/掩码 + 解码/解除交织/去掩码)+ qr_gf.px (Reed-Solomon 编码 + 译码:Syndrome→BM→Chien→Forney)+ qr_table.px (容量/格式表,与 Python segno 同源);全矩阵可与 segno 对拍(encode/decode 双向)。 ============================================================