二維碼的實現原理和實現過程[確定二維碼版本信息]

確定二維碼信息

  • 二維碼的版本信息:1-40

  • 二維碼的糾錯等級:L,M,Q,H

  • 二維碼的編碼模式:ECI,數字,字母數字,8位字節,中國漢字,結構鏈接,FNC1(第一位置),FNC1(第二位置)

GB/T 18284-2000 快速響應矩陣碼 表2 模式指示符
模式 指示符
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;
}

二維碼的實現原理和實現過程

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章