确定二维码信息
-
二维码的版本信息:1-40
-
二维码的纠错等级:L,M,Q,H
-
二维码的编码模式:ECI,数字,字母数字,8位字节,中国汉字,结构链接,FNC1(第一位置),FNC1(第二位置)
模式 | 指示符 |
ECI | 0111 |
数字 | 0001 |
字母数字 | 0010 |
8位字节(Byte) | 0100 |
中国汉字 | 1101 |
结构链接 | 0011 |
FNC1(第一位置) | 0101 |
FNC1(第二位置) | 1001 |
-
C++编码实现:
BasicInfo.h
#ifndef QRCode_BasicInfo_H
#define QRCode_BasicInfo_H
namespace qrcode{
/*
* Class BasicInfo
* @member version: from 1 to 40;
* @member mode: support for chinese_mode,byte_mode,number_mode and letter_mode(number and word);
* @member level: L,M,Q,H;
* use number(int) to set version,use qrcode::settings::mode::chinese_mode to set mode;
* use qrcode::settings::level::L to set level;
*/
class BasicInfo{
private:
int version;
int mode;
int level;
public:
void setMode(int mode);
void setVersion(int version);
void setLevel(int level);
int getMode();
int getVersion();
int getLevel();
BasicInfo(int version, int level, int mode);
~BasicInfo();
};
}
#endif
BasicInfo.cpp
#include "BasicInfo.h"
qrcode::BasicInfo::BasicInfo(int version, int level, int mode){
this->version = version;
this->level = level;
this->mode = mode;
}
qrcode::BasicInfo::~BasicInfo(){
}
void qrcode::BasicInfo::setLevel(int level){
this->level = level;
}
void qrcode::BasicInfo::setMode(int mode){
this->mode = mode;
}
void qrcode::BasicInfo::setVersion(int version){
this->version = version;
}
int qrcode::BasicInfo::getLevel(){
return this->level;
}
int qrcode::BasicInfo::getMode(){
return this->mode;
}
int qrcode::BasicInfo::getVersion(){
return this->version;
}
二维码的实现原理和实现过程