编码模式,大体定义如下:
typedef enum {
    QR_MODE_NUL = -1,  ///< Terminator (NUL character).
    Internal use only
    QR_MODE_NUM = 0,   ///< Numeric mode
    QR_MODE_AN,        ///< Alphabet-numeric mode
    QR_MODE_8,         ///< 8-bit data mode
    QR_MODE_KANJI,     ///< Kanji (shift-jis) mode
    QR_MODE_STRUCTURE, ///< Internal use only
    QR_MODE_ECI,       ///< ECI mode
    QR_MODE_FNC1FIRST,  ///< FNC1, first position
    QR_MODE_FNC1SECOND, ///< FNC1, second position
} QRencodeMode;
举个例子,比如我编码的内容都是数字,就用QR_MODE_NUM,
比如用到中、日、韩文,就用KANJI
根据字符值和分配到默认 ECI 相关定义那些下面的模式。
如果通过另一个 ECI,优化数据压实模式应使用的字节值,
而不是特定字符赋值。例如,如果从 30HEX 到 39 十六进制和
紧凑的字节值默认的字节值的数字或字母的等价物,应使用数字模式。
扩展的通道解释 (ECI) 模式
扩展的通道解释协议,定义在目标公司允许的输出数据流的解释不同
于默认字符集。ECI 协议在其他符号码有一个一致的定义。
ECI 提供解释的字节值,打印之前和之后在细节中编码方法。
微 QR 码符号不支持 ECI 协议。定义默认解释 QR 代码
 2005 年 ECI 000003 代表 ISO/IEC 8859-1character 套。
使用其他字符集的国际应用程序应使用 ECI 协议。例如,默认解释的
 QR 码是 ECI 000020,代表 JIS 8 和 shift JIS 字符集。
ECI 模式可以镶嵌 ECI 转义序列在这一点在数据中后, 紧接着按
另一个模式指示器 (例如: 高效的数据编码) 和剩余生效直到结尾
的消息或随后的 ECI 模式指示器。
数值模式
数值模式是方式编码十进制数字 0 ~ 9 (从 30 十六进制 ASCII 39
十六进制)。通常情况下,10 位代表 3 个字符。
字母数字模式
字母数字模式是进行编码字符集的 45 个字符,包括数字 0-10 的方法
~ 9 (ASCII 是从 30HEX 到 39 十六进制),26 个英文字母 A ~ Z
(ASCII 是从 41 十六进制到 5A 十六进制) 和 9 符号 SP,
$,%,*,+,-,。,,: (ASCII 是 20HEX、 24hex、 25HEX、 2A 2B
十六进制,二维六角、 2E 十六进制,2F 十六进制十六进制 3A 六角分别)。
通常情况下,11bits 表示两个输入的字符。版本 M1 微 QR 码符号不支持
字母数字模式。
字节模式
在字节模式下,数据在每个字符 8 位编码。例如,可能为这种模式在封
闭系统国家或特定于应用程序实现 QR 代码 2005 年指定替代 8 位字符
集定义在 ISO/IEC 8859 适当 par。当指定替代的字符集,如果当事人想
要读取 QR 代码 2005年符号时,应通知适用的字符集中指定的应用程序或
通过双边协议。微 QR 码符号版本 M1 或 M2 不支持这种模式。
日文汉字模式
这种模式将根据 JIS 系统基于 JIS X 0208 日文汉字字符编码。
从 JIS X 2008 转换 JIS 值。详见 JIS X 0208 移编码表示形式。
13 位二进制码字表示每个双字节字符值。如果指定的 8 位字节模式的
字符集汉字模式可能则采用不毫不含糊地使用的字节值在范围 81HEX 至
 9FHEX 和/或 E0HEX 到 EBHEX。那是因为阅读系统不是能够确定从传送
的数据是否这种字节值是一个双字节字符前导字节。当适当的序列的字
节值数据中发生时,使用汉字模式压实规则可能实现较短的码流。
(即前导字节在范围 81HEX 至 9FHEX 或 E0HEX,其后拖车字节在范围
40HEX 至 FCHEX,除了 7FHEX,EBHEX 或 EBHEX,其后 40HEX 至 BFHEX)。
M1 或 M2 微 QR 码符号版本不支持日文汉字模式。
混合模式
QR 代码 2005年可以编码序列的混合所有模式上面所描述的数据。
微 QR 代码 2005年符号可以编码序列的混合数据由任何可用以上模式描述
结构化的追加模式
此模式用于拆分数据文件来表示序列的几个 QR 代码符号,要求所有的符
号都可以读取和重建正确的顺序。每个符号必须要表明的长度此序列以及符
号的位置,并检查所有的可读符号属于同一文档的结构化追加标头。
微 QR 码符号不支持结构追加模式。
FNC1 模式
这种模式对特定行业或应用程序数据格式符号进行编码。在"第一的位置",
它指示符号一般规范。在"第二的位置",它表示特定的数据格式根据目标公司
 FNC1 模式是提供给整个符号和不受后续模式指标。请注意"第一的位置"和
第二的位置"基于字符的位置在代码 128 符号,等效的方式使用时不实际位置
。微 QR 码符号不支持 FNC1 模式。

关于QR二维码的编码模式相关推荐

  1. 初识 QR 二维码(零)

    提到二维码,想必大家每天都会接触到,扫码支付.扫码添加微信好友等都会用到.关于二维码的生成原理,网上确实有些介绍,但基本涉及到具体编码就一笔带过没有深入了.目前 Python 也有现成的模块可以调用来 ...

  2. Android OpenCV(四十):QR二维码检测与识别

    QR二维码 QR码(英语:Quick Response Code:全称为快速响应矩阵图码)是二维码的一种,于1994年由日本DENSO WAVE公司发明.QR来自英文Quick Response的缩写 ...

  3. QR二维码的攻击方法与防御

    Blackeagle · 2013/07/03 18:59 QR二维码(Quick Response Code)是由日本丰田子公司Denso Wave于1994年发明并开始使用的一种矩阵二维码符号.与 ...

  4. Aztec 条码和 QR 二维码

    一个是有很多点的黑白方块,另一个是带有--更多点的黑白方块? 对于未受过训练的人来说, Aztec 条码和 QR 码在结构上看起来相似,但它们的设计和适用性却大不相同. 但这些区别是什么? 它们最常用 ...

  5. QR二维码掩码质量评价算法

    这个二维码掩码选择评分算法简单但是切合实际,以及掩码的设计的算法,细思极恐!值得记录! QR二维码掩码技术: 原因:当二维码中黑色或者白色块过多,会导致二维码的信息识别困难和容易丢失.所以需要掩码对二 ...

  6. QR 二维码布局(五)

    上一篇构建最终编码流程中,我们获取到最终包含数据码.纠错码和剩余字符的最终编码数据.接下来就是要最终的数据编码和其它必需的功能模块统一分配到 QR 二维码矩阵中.功能模块指的是不含数据,同时 QR 二 ...

  7. python用二维码共享文档_[源码和文档分享]基于Python的QR二维码的生成与识别程序...

    摘 要 进入二十一世纪之后,高新技术产业得到了极其迅速的发展.计算机.互联网.物联网.云计算等领域的发展,使得整个社会的信息化程度极大提高.随着技术的不断成熟,目前的一维条形码已逐渐向二维码过渡.本课 ...

  8. 生成QR二维码图片示例

    生成QR二维码图片的简单示例 QR二维码的生成,在生成QR二维条码中已经提及.不过上次是通过网站生成的,缺点是对网站的依赖.下面做了个调用zxing core实现生成QR二维码图片的示例.另外还可以通 ...

  9. C# QR二维码DEMO

    QR二维码 二维码的一种 相关类库 ThoughtWorks.QRCode 第三方类库 DEMO功能 Encode 生成二维码图片 Encoding 编码 Correction Level 等级 Ve ...

最新文章

  1. 道阻且长,Libra 项目负责人长文回应一切质疑
  2. 周末免费玩VR!Rift玩家的福利:BlazeRush赛车游戏
  3. flowable对比
  4. paddlepaddle系列之三行代码从入门到精通
  5. 局域网络连接的计算机不全,WIN10局域网电脑和设备显示不完整
  6. linux的启动流程和加载程序
  7. 关于MVC与三层架构
  8. IT人才需要怎样的沟通表达能力
  9. 实现Mybatis接口模式下的数据库调用分离
  10. pytorch实现attention_Self-Attention手动推导及实现
  11. 自定义UITabBar的两种方式
  12. python-pptx---插入表格
  13. 分槽ALOHA协议仿真
  14. Spring Cloud Ribbon 全解 (1) - 总览篇
  15. win7无法访问win10计算机,共享服务,教您win10共享文件夹无法访问怎么办
  16. 怎么申请微信小程序流程_小程序发布需要什么资质
  17. iphone修改密码时服务器,iPhone 突然弹出窗口要求修改密码怎么办?
  18. 前端json数据的解析遍历
  19. 长岛县人民政府成功部署督查督办管理系统
  20. PointNet++:Deep Hierarchical Feature Learning on Point Sets in a Metric Space

热门文章

  1. mysqldatareader对象有多少个方法_血压的正常范围是多少?牢记这6个降压方法,有效地预防高血压...
  2. 1.Java语言概述
  3. 微信小程序中处理 获取用户地址的回调
  4. [BZOJ3669] [NOI2004] 魔法森林 LCT维护最小生成树
  5. 搭建hadoop的HA集群模式(hadoop2.7.3+hive+spark)
  6. 使用OpenCV提取不同颜色物体
  7. 在子类中调用父类的方法super
  8. 用虚拟 router 连通 subnet - 每天5分钟玩转 OpenStack(141)
  9. 转:ObjectInputStream类和ObjectInputStream类的使用
  10. 基于角色的权限设计方案