Java二维码编码识别
目录
二维码原理
将String转成char
将char转成二进制码
补码
存储
在界面上画出二维码
二维码原理
二维码图像存储的信息属于字符信息,如果信息少,黑白块数量也少,反之就同理。
我们用二进制01 来表示成它的信息码
字符型char 在java占2byte,16bit
0000 0000 0000 0000 -字符
public class StringTest {public static void main(String[] args) {char c = 'A';System.out.println(c);char x = 100;// 100 = d ASCII 字符编码System.out.println(x);char g = 33;System.out.println(g);int count = 0;//打印 一万个字符for(char i = 20000;i<30000;i++) {count++;if(count == 30) {System.out.println();count = 0;}System.out.print(i);}}
}
将String转成char
//将String 转成charpublic static void main (String[] args) {String str = "http://www.bilibili.com";int strlenght = str.length();int[][] binaryArr = new int[strlenght][8];for(int i = 0;i<strlenght;i++) { char c = str.charAt(i);System.out.println(c);
将char转成二进制码
//将char转成二进制码//integer 将字符转二进制码String cbinarycode = Integer.toBinaryString(c);System.out.println(cbinarycode);
补码
//获取二进制码编码长度int cbinaryCodeLenght = cbinarycode.length();//在前补码0 直到长度为8while(cbinaryCodeLenght < 8 ) {cbinarycode = "0"+cbinarycode;cbinaryCodeLenght++;}System.out.println(cbinarycode);
存储
int[][] binaryArr = new int[strlenght][8];// 将 补好二进制码 存储起来// 声明二维数组for(int j = 0;j<cbinaryCodeLenght;j++) {binaryArr[i][j] = cbinarycode.charAt(j);}}//testSystem.out.println("二进制矩阵");for(int i = 0;i<strlenght;i++) {for(int j = 0;j<8;j++) {System.out.print(binaryArr[i][j]);}System.out.println();}
在界面上画出二维码
StringUI
import java.awt.Color;
import java.awt.Graphics;import javax.swing.JFrame;public class StringUI extends JFrame{public void initUI() {JFrame jf = new JFrame();jf.setTitle("字符串二维码");jf.setSize(900,700);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jf.setVisible(true);}public void paint(Graphics g) {super.paint(g);g.setColor(Color.blue);g.fillRect(0, 0, this.getWidth(), this.getHeight());QRCode qrCode = new QRCode();int[][] arr = qrCode.staringToBinary("");//将转成for(int i = 0;i<arr.length;i++) {for(int j = 0;j<arr[i].length;j++) {int num = arr[i][j];if(num == 48) {g.setColor(Color.white); }else {g.setColor(Color.black);}g.fillRect(100+i*10, 100+j*10, 10, 10);}}}public static void main(String[] args) {StringUI su = new StringUI();su.initUI();}
}
QRCode
public class QRCode {//将String 转成charpublic int[][] staringToBinary(String codeStr) {String str = "http://www.bilibili.com";int strlenght = str.length();int[][] binaryArr = new int[strlenght][8];for(int i = 0;i<strlenght;i++) {char c = str.charAt(i);System.out.println(c);//将char转成二进制码//integer 将字符转二进制码String cbinarycode = Integer.toBinaryString(c);System.out.println(cbinarycode);//获取二进制码编码长度int cbinaryCodeLenght = cbinarycode.length();//在前补码0 直到长度为8while(cbinaryCodeLenght < 8 ) {cbinarycode = "0"+cbinarycode;cbinaryCodeLenght++;}System.out.println(cbinarycode);// 将 补好二进制码 存储起来// 声明二维数组for(int j = 0;j<cbinaryCodeLenght;j++) {binaryArr[i][j] = cbinarycode.charAt(j);}}//testSystem.out.println("二进制矩阵");for(int i = 0;i<strlenght;i++) {for(int j = 0;j<8;j++) {System.out.print(binaryArr[i][j]);}System.out.println();}return binaryArr;}
}
Java二维码编码识别相关推荐
- java二维码编码生成并转换成流传入前端页面
java二维码编码生成并转换成流传入前端页面 这里主要用了com.google.zxing的依赖,这个依赖主要可以完成图片叠加.二维码生成和图片加文字等功能. ①添加依赖 <dependency ...
- Atitit java 二维码识别 图片识别
Atitit java 二维码识别 图片识别 1.1. 解码1 1.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.1 1.3. 二维码的样例:2 1.4. 定位图案2 1. ...
- Java中识别二维码并且提高二维码的识别率
我们在Java开发的时候,发现对二维码的识别是不足的.所以我们需要提高识别率. 第一步.识别图片二维码.准备相应的jar包.我们在gradle+idea中开发. compile group: 'com ...
- Java实现二维码编码与解码
1.构建maven项目,导入对应依赖 这里引用谷歌的zxing包实现二维码的编码与解码,导入依赖如下所示 <!-- 谷歌二维码 --> <dependency><grou ...
- java 工具类实现Base64二维码图片识别
工具类已经实现Base64二维码图片识别和路径图片识别 所需maven依赖 <!--二维码生成和解析相关的jar包[生成][解析]--> <dependency> ...
- java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成、解析、下载
java二维码生成 使用SSM框架 搭建属于自己的APP二维码合成.解析.下载 自己用java搭建一个属于自己APP二维码合成网站.我的思路是这样的: 1.用户在前台表单提交APP的IOS和Andro ...
- java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例
java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍 这里我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream o ...
- C#_WPF中创建二维码、识别二维码
C#_WPF中创建二维码.识别二维码 原文: C#_WPF中创建二维码.识别二维码 第三方库: WPFMediaKit.dll (WPFMediaKit摄像头处理) zing.dll NuGet安装这 ...
- 用不同的QR Code识别库实现二维码的识别(第一篇:opencv 和BoofCV)
最近有个项目需要实现二维码的识别和摄像头的数据采集.在开始正式项目之前,我决定用python写几行简单的代码来测试每个库的识别效果.这次没有连续测量,也没有使用多线程识别.只是简单的测试了每个二维码的 ...
最新文章
- js中Dom元素及获取方法
- 设计模式复习-享元模式
- [20171109]缓存命中率神话.txt
- python学习网址
- mysql统计每周每个学校新增学生数量_深入学习之mysql(四)聚合函数
- 将Docker image push 到azure
- 中小型软件产品解决方案模板
- ipv6访问文件服务器,ipv4客户端如何访问ipv6服务器
- ROS_Noetic使用handeye-calib进行机械臂手眼标定
- 「 神器 」极简网速监控悬浮窗软件
- scp时提示【Read-only file system】的解决方案
- C语言实现字母的大写转换成小写
- 自然搜索流量和手淘首页的区别,如何提升手淘首页流量
- VB6程序运行错误Run-time error 339: Tabctl32.ocx的解决办法
- Quest3d 贴图,反射
- Linux设置与取消代理
- 怎样在Flex里使用FlexUnit
- SAP KP26 报工出错
- 拓扑排序-Kahn算法
- 搜狗输入法状态栏没法拖动
热门文章
- python画思维导图的英文_如何使用python做出思维导图
- hass智能 小米扫地机器人_Siri能控制小米扫地机器人吗_小米智能家居控制系统...
- 手机回收ATM面世,无人回收会成为下一个风口吗?
- 优信php面试流程_php面试的的时候你被提过哪些问题?
- 大学生体测技巧 动态拉伸,立定跳远,肺活量,仰卧起坐,坐位体前屈
- 你以为你以为的三国就是你以为的三国吗——读《三国史话》
- PCIe数据卡设计资料第611篇:基于VU9P的双路5Gsps AD 双路6Gsps DA PCIe数据卡
- 饿了么客户端透明代理 Samaritan详细介绍
- Django项目:LOL学院学员管理系统
- 机器学习实验二 决策树