本次我们实现一种算法,将英文字母的二进制码算出来并以黑白方块的形式表示出来,从而实现二维码的初步实现。
那么具体思路是,因为一个英文字母的大小在计算机中是8bit,1byte大小,因此我们可以通过把该字母的8位二进制码找出来,并根据每一个字母不同的二进制码,即不同的0和1顺序,将字母通过黑白方格画出来,达到二维码的效果。
首先,我们给出一个想要转化的英文单词字符,比如我们众所周知的b站:http://bilibili.com。老规矩建立窗体和初始值,这里为了方便调用我们直接采用构造方法来初始化窗体。
String s = StringToBinary("http://bilibili.com");
char[] char1 = s.toCharArray();
public QRImage() {
this.setTitle("二维码");
this.setSize(1500, 2000);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
但是这里我们可以看到,StringToBinary是一个自己写的方法,那么不妨我们想一想这个方法的作用是什么。可以看到我们给的网站名是以字符的形式出现的,那么想要得到其中每一个字母的二进制码是不容易的,因此我们要设定一种方法将每一个字母的二进制码分别取出来,并拼接到一起供我们使用。
public String StringToBinary(String str) {
//将这些字母存入一个char字符数组