网站asp竞价推广什么意思
我们在生活中经常会碰到二维码,我们通过手机扫描二维码,就会获取二维码上的所包含的信息。我们仔细观察二维码不难发现,二维码首先是一张图片,这张图片只有两种颜色,黑色和白色。我们知道计算机内部的数据就是二进制0或者1来表示,这恰好与二维码的黑白两种颜色对应。
比如我们要得到一张二维码,通过扫描这张二维码,就可以得到http://www.baidu.com(百度网址)这样的功能。思路就是首先我们将"http://www.baidu.com"这个网址的字符串变为用ASCII码表示的数组,我们知道每个英文字符的ASCII码为8位,不足8位我们通过在前面补0来实现。这样我们就可以得到一个二维数组,然后将二维数组通过UI画出来既可以得到简单的二维码样式。实现代码如下:
public class QrUI extends JFrame {public int[][] StringToBinary(String codeStr) {String str="http://www.baidu.com";int strlength=str.length();int[][] binaryArr=new int[strlength][8];for (int i = 0; i < strlength; i++) {char c=str.charAt(i);String cbinarycode=Integer.toBinaryString(c);
// 不足8位的补码,得到字符串每个字符的8位ASCII码int cbinaryCodelength=cbinarycode.length();while (cbinaryCodelength<8) {cbinarycode="0"+ cbinarycode;cbinaryCodelength++;}
// 将数据存储在一个二维数组中for (int j = 0; j < cbinaryCodelength; j++) {binaryArr[i][j]=cbinarycode.charAt(j);}}return binaryArr;public void initiUI() {this.setTitle("二维码");this.setSize(500,500);this.setDefaultCloseOperation(3);this.setVisible(true);}@Overridepublic void paint(Graphics g) {super.paint(g);int[][] arr=StringToBinary(null);for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {int num=arr[i][j];// 将黑白两种颜色与0和1对应起来if (num==48) {g.setColor(Color.WHITE);}else {g.setColor(Color.black);}g.fillRect(100+i*20, 100+j*20, 20, 20);}}}}public static void main(String[] args) {QrUI qr=new QrUI();qr.initiUI();}
}
最终我们可以得到如下图所示的图片。