- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章java实现二维码生成的几个方法(推荐)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
java实现二维码生成的几个方法,具体如下:
1: 使用SwetakeQRCode在Java项目中生成二维码 。
http://swetake.com/qr/ 下载地址 。
或着http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip 。
这个是日本人写的,生成的是我们常见的方形的二维码 。
可以用中文 。
如:5677777ghjjjjj 。
2: 使用BarCode4j生成条形码和二维码 。
BarCode4j网址:http://sourceforge.NET/projects/barcode4j/ 。
barcode4j是使用datamatrix的二维码生成算法,为支持qr的算法 。
datamatrix是欧美的标准,qr为日本的标准, 。
barcode4j一般生成出来是长方形的 。
如:88777alec000yan 。
3:zxing 。
zxing 这个是google的 。
下载地址 :http://code.google.com/p/zxing/downloads/list 。
Java代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import
java.io.File;
import
java.util.Hashtable;
import
com.google.zxing.BarcodeFormat;
import
com.google.zxing.EncodeHintType;
import
com.google.zxing.MultiFormatWriter;
import
com.google.zxing.client.j2se.MatrixToImageWriter;
import
com.google.zxing.common.BitMatrix;
import
com.google.zxing.qrcode.QRCodeWriter;
public
class
QRCodeEvents {
public
static
void
main(String []args)
throws
Exception{
String text =
"你好"
;
int
width =
100
;
int
height =
100
;
String format =
"png"
;
Hashtable hints=
new
Hashtable();
hints.put(EncodeHintType.CHARACTER_SET,
"utf-8"
);
BitMatrix bitMatrix =
new
MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height,hints);
File outputFile =
new
File(
"new.png"
);
MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);
}
}
|
4:google chart api就有实现二维码的方法 。
利用这个api,使用google appengine进行实现.
5:JS生成二维码 。
使用jQuery-qrcode生成二维码 。
先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcode 获取), 。
qrcode.js 是实现二维码数据计算的核心类, 。
jquery.qrcode.js 是把它用jquery方式封装起来的,用它来实现图形渲染,其实就是画图(支持canvas和table两种方式) 。
支持的功能主要有:
Js代码:
1
|
text :
"https://github.com/jeromeetienne/jquery-qrcode"
//设置二维码内容
|
Js代码:
1
2
3
4
5
6
7
|
render :
"canvas"
,
//设置渲染方式
width : 256,
//设置宽度
height : 256,
//设置高度
typeNumber : -1,
//计算模式
correctLevel : QRErrorCorrectLevel.H,
//纠错等级
background :
"#ffffff"
,
//背景颜色
foreground :
"#000000"
//前景颜色
|
使用方式非常简单 。
Js代码:
1
|
jQuery(
'#output'
).qrcode({width:200,height:200,correctLevel:0,text:content});
|
经过简单实践, 。
使用canvas方式渲染性能还是非常不错的,但是如果用table方式,性能不太理想,特别是IE9以下的浏览器,所以需要自行优化一下渲染table的方式,这里就不细述了.
其实上面的js有一个小小的缺点,就是默认不支持中文.
这跟js的机制有关系,jquery-qrcode这个库是采用 charCodeAt() 这个方式进行编码转换的, 。
而这个方法默认会获取它的 Unicode 编码,一般的解码器都是采用UTF-8, ISO-8859-1等方式, 。
英文是没有问题,如果是中文,一般情况下Unicode是UTF-16实现,长度2位,而UTF-8编码是3位,这样二维码的编解码就不匹配了.
解决方式当然是,在二维码编码前把字符串转换成UTF-8,具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
function
utf16to8(str) {
var
out, i, len, c;
out =
""
;
len = str.length;
for
(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if
((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
}
else
if
(c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
else
{
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return
out;
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:http://blog.csdn.net/feiyu84/article/details/9089497 。
最后此篇关于java实现二维码生成的几个方法(推荐)的文章就讲到这里了,如果你想了解更多关于java实现二维码生成的几个方法(推荐)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
可以在 R 中生成二维码吗?是否有允许它的包? 最佳答案 现在在 CRAN 您可以使用 qrencoder包 - https://github.com/hrbrmstr/qrencoder - 这样做
我有一个使用相机扫描二维码的应用程序。当我打开应用程序并转到二维码阅读器时,一切正常。一旦我扫描代码,信息就会发送到另一个 Activity ,但是一旦我点击后退按钮,相机就会变黑(见下文),我就无法
有没有办法为一个二维码创建多个 Action ? 目标是扫描二维码并执行这些操作: 连接WIFI 转至特定网址 我可以用 2 个二维码完成这 2 个操作,但只有一个会更容易 最佳答案 你不能。 仅仅是
在我的应用程序中,我需要实现 Blackberry Messenger 中可用的功能,即用户可以通过扫描他们的 QR 码来添加其他用户。 我找到了可以帮助生成二维码的库,也找到了线程来帮助生成二维码。
我尝试了新的 Google Play 服务功能 - 条码/QR 扫描仪。在 sample应用程序通过点击按钮开始扫描,结果也会在点击时返回。 有没有办法改变它的行为以立即返回第一个检测到的条形码/二维
我正在寻找解密(不仅是解码)二维码的逻辑。最近我看到几个加密二维码的应用程序,比如QuickMark。 .例如,此 QR 使用密码“pass”解密为“StackOverflow”: 如果你使用一个没有
我的公司有一个通过 URL 访问的社交网络平台。 我们正在尝试找到一种方法在体育商店中宣传我们的 URL,只有您来到商店才能访问我们的网站 - 我们不希望将 URL 分享给任何地方的任何人。 我们考虑
我想根据字段卷号生成一个二维码,并使用 JavaScript 文件(客户端验证)将其显示在 ID 名为“vyas_qrcode”的 div 容器中。 生成二维码的逻辑在js文件(qrcode_js.j
我正在研究使用 Android、iOS 和可能的 Windows Phone 上的浏览器扫描二维码的可用方法。理想的解决方案是拥有一个既可以在移动设备屏幕上又可以在全尺寸计算机屏幕上运行的 Ang
我正在开发 Instagram、Snap Chat 和 Facebook 等社交应用。我需要生成用户配置文件的二维码。我从数据库中隐藏了用户 ID。我的应用程序中有一个扫描仪来扫描二维码。该功能运行良
我有一个用于生成 jpeg 和 png 格式的二维码的代码,但还想在 PHP 中生成带有背景图像的 svg 二维码。我正在使用 qrlib.php 生成 jpeg 和 png 格式。 最佳答案 QRl
我正在使用 primefaces 开发网络应用程序。我正在尝试在网页上显示条形码。除了 QR 码外,所有编码器都显示了。我读到这需要两个 jar 文件 barcode4j: 2.1 qrgen:1.4
我正在寻找一个库或方法来解码二维码(或可能是另一种形式的二维条码)并能够实际确定相机的位置和方向。这似乎应该是可行的,但我不完全确定。 有谁知道最好的路线是什么?或者,如果它甚至可能? 最佳答案 zx
我正在尝试创建一个 QR 码,如果在安装了 Facebook 应用程序的手机上扫描,Facebook 应用程序将直接转到 QR 码中保存的类似页面。我尝试过什么this website已经说过了,但没
我使用python-qrcode和reportlab,我想生成一个二维码并显示它而不是将它保存为图像。 def member_card(request): response = HttpRes
好的,我正在使用这个 Javascript QR 代码生成器:https://github.com/davidshimjs/qrcodejs 开箱即用,您可以通过将其包含在页面上来获得字符串输出。
我在检测二维码在哪里时遇到问题。 我需要在它周围画边框。 我使用 AVMetadataObject 贝塞尔曲线路径,但它不起作用。 请帮助我。 - (void)captureOutput:(AVCap
我正在使用已弃用的 Camera 类。我在 onPreviewFrame(byte[] data, Camera camera) 方法中进行处理。 Zbar 扫描仪没有触发“尝试反向”扫描的选项。我发
1、搭个界面 2、写代码 ? 1
我正在尝试使用 pyqrcode 库生成一个 vCard 二维码,但我不知道该怎么做。 我已经阅读了他们的文档 5 次,其中没有提到 vCard,只提到了 URL,在互联网上,我只能找到关于 wifi
我是一名优秀的程序员,十分优秀!