二维码生成与windows系统IP查询功能
一个木函是一款强大的手机软件,里面囊括了很多小功能,每一个都基本可以堪称小程序。那么,这些小功能具体是怎么实现的呢?让我们来一起来探讨二维码生成、IP查询这两个功能吧!
一、二维码生成
首先,我们来看看里面的一个简单的二维码自定义生成小功能,它进去后的界面是这样的:

我们可以看到:(1)我们可以调节二维码的颜色,也就是可以改变平常时我们看到的二维码是黑色的那块的颜色,以及二维码的背景色,也就是后面默认为白色的部分。
(2)我们可以调节二维码的尺寸和二维码(默认为黑色的那部分)的边距。
了解到具体的应用后,我们用默认模式试试,首先我们生成一个自定义二维码(内容自己定义输入)该效果如图:

然后扫一扫就可以看见自己写的内容啦!效果如图:

是不是很神奇?是不是很好奇?那这样的二维码是如何产生的呢?让我们一起来看看这个小功能是怎么实现的吧!
首先,我们先简单了解一下二维码的原理:
二维码(2-dimensional bar code)是利用某种特定的几何图形按一定的规律在平面(在二维角度上)分布的黑白相间的图形记录数据符号信息的。
它们通常由码制编写而成,如data matrix,maxi code等等;还分有堆叠式(行排式)、阵式等,其中阵式最流行的就是QR CODE了吧。
相比“一维码”也就是条形码来说,二维码可以储存的数据量更大,还可以包含字符、数字及文本等混合的东西;同时还会有一定的容错性,在一部分损坏的同时,还可以正常被取读出来。
现在,我们来探讨一下当下最为流行的QR code:
之所以会这么受大家的欢迎,其中之一的原因是它解码速度快,还可以储存多种类型。下面是结构图(图片来源百度):

为大家科普一下基本信息:
位置探测图形、位置探测图形分隔符、定位图形这三个用于二维码的定位,对每个QR code ,位置基本都是固定存在的,只是可能会因为大小存在一些差异。
校正图形:确定规格,那校正图形的数量和位置也就确定。
格式信息:表示该二维码的纠错级别;一般有L、M、Q、H这几个等级。也就是纠错等级,在一定的规格内,纠错等级越高,那么其真实的数据容量就会越小。在二维码的规格和纠错等级确定的情况下,它所能够容纳的码字总数和纠错码字数就确定了。
版本信息:其实就是二维码的规格,QR code符号共有40规格的矩阵,从21x21(版本1)到177x177(版本40),每一个版本比前一个版本每边增加4个模块。
数据和纠错码字:实际保存的信息和纠错码字。
编码的简要过程:
1.确定要编码的字符类型,选择纠错等级。
2.将数据类型字符转换为位流,每8位一个码字,构成一个数据码字序列,知道了码字序列,就知道了二维码的内容。
3.将码字序列划分成块,根据纠错等级和分块来产生纠错码字,并把纠错码字加入到数据码字序列后面,成为一个崭新的序列。
4.将上面的数据序列按次序分别放进分块中,按照规定的数据分块进行每一块的计算,得出相应的纠错码字区块,把纠错码字区块按顺序构成一个序列,添加到原先的数据码字序列后面。
5.将固定的位置探测图形、位置探测图形分隔符、定位图形以及校正图形和码字模块放入到矩阵当中,并将完整的序列填充到相应规格的二维码矩阵(即相应的版本)的区域中。如:

6.用掩膜图形于编码区域,使二维码图形变成深浅色区域块;并生成相应的格式和版本信息。
最后,如果我们利用Python语言的qrcode库函数,就很容易实现二维码生成的功能,如:

二、国内IP查询
1.了解IP
IP址址不能重复,这个需要限定在一定范围。比如,同一局域网,IP地址是不能重复的。还有就是涉及一个NAT(网络地址转换)的问题。
IP地址分为私有地址和公有地址,私有地址可以自己定义。路由器都有NAT功能,可以将这些私有地址转换为合法的公有IP(IP其实就类似是我们电脑的电话号码一样)。
2.查询IP
其实很简单,类似百度,只要输入IP,就会出现IP查询,如果你用手机查询,那就是你手机本机的IP地址。
Windows有一个系统内置的网络命令,就是“netstat”,来查出对方的IP地址,不过条件是你们得在QQ聊上天才行。实现如下:
首先,单击“开始”或“运行”命令,输入“cmd”命令,进入到MS—DOS状态中,然后执行“netstat -n”命令,当连接状态是“Established”时,表明你的计算机和对方的计算机之间连接成功了。
二维码生成与windows系统IP查询功能的更多相关文章
- Windows phone 8 二维码生成与扫描
1. 二维码的生成 二维码生成用到了一个第三方的插件(zxing.wp8.0) 根据指定的信息,生成对应的二维码. 代码很简单: bool falg=tbk.Text==""?fa ...
- 杂项收集,包括-发邮件、二维码生成、文件下载、压缩、导出excel
本篇就最近工作解决的问题做个代码收集.包括以下几个方面:发邮件.二维码生成.文件下载.压缩.导出excel.有一种可用的解决方法就好,不求全面,不求原理. 1.发邮件: 命名空间:System.Net ...
- 在云平台上基于Go语言+Google图表API提供二维码生成应用
二维码能够说已经深深的融入了我们的生活其中.到处可见它的身影:但通常我们都是去扫二维码, 曾经我们分享给朋友一个网址直接把Url发过去,如今我们能够把自己的信息生成二维码再分享给他人. 这里就分享一下 ...
- Winform窗体实现简单的二维码生成和保存
二维码的生成需要用到二维码生成的类库,ThoughtWorks.QRCode.dll 步骤: 第一步:下载二维码生成类库,ThoughtWorks.QRCode.dll 第二步:新建winform项目 ...
- android 二维码生成+扫描
android 二维码生成+扫描 1.在Android应用当中,很多时候都要用到二维码扫描,来避免让用户手动输入的麻烦. Google官方自己推出了一个二维码开源项目:ZXing库. 2.这里简单介绍 ...
- 玩转Android之二维码生成与识别
二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了.那么今天我们就来看看怎么样在我们自己的App中集成二维码的 ...
- C#二维码生成与解码(二)
本文内容在<C#二维码生成与解码>的基础上增加了纠错级别和Logo图标加入,增加了二维码的功能.关于透明度在这里没有单独显现,因为在颜色里面就已经包含,颜色值由8位8进制构成,最前面的两位 ...
- Android开发——Android中的二维码生成与扫描
0. 前言 今天这篇文章主要描述二维码的生成与扫描,使用目前流行的Zxing,为什么要讲二维码,因为二维码太普遍了,随便一个Android APP都会有二维码扫描.本篇旨在帮助有需求的同学快速完成二维 ...
- 二维码生成插件qrious及网站扫码登录的一些理解
什么是二维码 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型. ...
随机推荐
- dockerfile-maven-plugin极简教程
目录 一.简介 二.概述 三.将spring-boot-app打包成docker镜像 创建示例应用 修改pom文件 增加Dockerfile文件 使用Maven打包应用 运行应用镜像 四.分析mvn ...
- 网站搭建-云服务器是什么-云服务器ECS是什么
学习上瘾了,本博客关闭,后期再总结整理.
- Android开发教程之密码框右侧显示小眼睛
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套[Android进阶学习视频].[全套Android面试秘籍].[Android知识点PDF] ...
- web自动化测试总结
web自动化: 1.测试用例(操作步骤,熟读需求文档,web项目先用手工研究,前置条件,预期结果) 接口自动化测试中数据功能最适合作为数据驱动,数据放在excel中需要操作excel 为什么web自动 ...
- go 多协程爬取图片
package main import ( "fmt" "github.com/antchfx/htmlquery" "golang.org/x/ne ...
- centos8下启用rc-local服务
一,centos8不建议写rc.local,默认启动时执行的命令放到何处? 以前我们会把linux开机执行的命令写入到/etc/rc.local 在centos8上系统不再建议我们写入到rc.loca ...
- 监听MySQL的binlog日志工具分析:Canal
Canal是阿里巴巴旗下的一款开源项目,利用Java开发.主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL. GitHub地址:https://github. ...
- Linux命令的内部命令执行
一个命令可能既是内部命令也是外部命令 因为内部命令优先级高,先执行内部命令 [04:21:44 root@C8[ ~]#type -a echo echo is a shell builtin ech ...
- javaSE、javaEE、Android知识点总结
曾今上学时候的一些学习总结,如有错误请大家指出,共同学习. 1. 什么是WebView? WebView是一个使用WebKit引擎的浏览器组件,用来加载网页. 2. WebView中加载网页的两种方式 ...
- OLTP与OLAP的介绍(理论知识)
OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing).联机分析处理OLAP(On-Line Analytical ...