WindowsCE摩托罗拉MC3100 PDA扫描开启和HEX解码

news/2024/10/18 14:23:10/
PDA扫描设置参考: http://blog.csdn.net/wang_cel/article/details/46845731

1.开启设备扫描功能

1.1定位扫描应用开启的位置

打开控制面板

点击“DataWedge”图标

双击图标打开;

1.2设置扫描格式并开启回车功能

点击“Status:”,条码扫描开启

点“Basic format...“

点”Send data Enabled“

点”7. Send ENTER key“,条码扫描后自动加回车键(根据需要也可选TAB键)

2.扫描二维码后获取到的HEX串解码

如上界面通过扫描输入来查询,若不解码显示出来的是类似“53534e303031313530383234303031”HEX码输入条件,此种情况自然就查不出相关的记录了;

2.1解码工具类

package com.wlyd.wms.util.api;
/*** * @packge com.wlyd.wms.util.api.PDAHexDecoder* @date   2015年8月26日  上午10:47:23* @author wlyd* @comment   PDA扫描二维码HEX解码工具* @update*/
public class PDAHexDecoder {/*** * @MethodName: hexStringToBytes * @Description: hexString ->Bytes* @param hexString* @return* @throws*/public static byte[] hexStringToBytes(String hexString) {if (hexString == null || hexString.equals("")) {return null;}hexString = hexString.toUpperCase();int length = hexString.length() / 2;char[] hexChars = hexString.toCharArray();byte[] d = new byte[length];for (int i = 0; i < length; i++) {int pos = i * 2;d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));}return d;}/*** * @MethodName: charToByte * @Description: char ->Byte* @param c* @return* @throws*/private static byte charToByte(char c) {return (byte) "0123456789ABCDEF".indexOf(c);}/*** * @MethodName: bytesToHexString* @Description: byte——>String* @param src* @return* @throws*/public static String bytesToHexString(byte[] src) {StringBuilder stringBuilder = new StringBuilder("");if (src == null || src.length <= 0) {return null;}for (int i = 0; i < src.length; i++) {int v = src[i] & 0xFF;String hv = Integer.toHexString(v);if (hv.length() < 2) {stringBuilder.append(0);}stringBuilder.append(hv);}return stringBuilder.toString();}/*** * @MethodName: printHexString* @Description: byte——>hexString* @param b* @return* @throws*/public String printHexString(byte[] b) {String a = "";for (int i = 0; i < b.length; i++) {String hex = Integer.toHexString(b[i] & 0xFF);if (hex.length() == 1) {hex = '0' + hex;}a = a + hex;}return a;}}

2.2解码测试用例

public class StringTest extends TestCase {@Testpublic void testHex() throws UnsupportedEncodingException{String hexString="53534e303031313530383234303031";byte[] bytes=PDAHexDecoder.hexStringToBytes(hexString);String result=new String(bytes, "UTF-8");System.out.println(result);}@Testpublic void testStringToHex(){String str="SSN001150824001";String hexString=PDAHexDecoder.bytesToHexString(str.getBytes());System.out.println(hexString);}
}

2.3JavaScript处理解码

// 扫描二维码HEX解码function decode(){var batchNo = $.trim($("#batchNo").val());if (!batchNo || batchNo == "") {return;}var param={"hexCode":batchNo};$.ajax({type : 'post',async : false,url : "${pageContext.request.contextPath}/pda/hex/decode.html?" + "&res=" + Math.random(),contentType : "application/json; charset=utf-8",dataType : 'json',timeout:5000,data : JSON.stringify(param),success : function(result) {if (result.statusCode == 101) {$("#batchNo").val(result.data);}else{alert(result.reason + "!");}},error : function() {alert("解码提示:网络访问异常!");}});}


http://www.ppmy.cn/news/581912.html

相关文章

RPC核心原理详解

什么是RPC&#xff1f; RPC的全称是Remote Procedure Call&#xff0c;即远程过程调用。简单解读字面上的意思&#xff0c;远程肯定是指要跨机器而非本机&#xff0c;所以需要用到网络编程才能实现&#xff0c;但是不是只要通过网络通信访问到另一台机器的应用程序&#xff0c…

DAMO-YOLO:一种平衡速度和准确性的新目标检测框架

DAMO-YOLO&#xff1a;一种平衡速度和准确性的新目标检测框架 1.介绍2.关键技术2.1. NAS主干网络&#xff1a;MAE-NAS2.2. Large Neck&#xff1a;RepGFPN2.3. Small Head&#xff1a;ZeroHead2.4. 标签分配&#xff1a;AlignOTA2.5 模型蒸馏 3.性能效果展示 作者&#xff1a;K…

1: BDF(Bus,Device,Function)

目录 1.概述 2.BUS&#xff1a;总线号 3.Device&#xff1a;设备号 4.Function&#xff1a;功能号 1.概述 PCIe总线中的每一个功能都有一个唯一的标识符与之对应。这个标识符就是BDF&#xff08;Bus&#xff0c;Device&#xff0c;Function&#xff09; 2.BUS&#xff1a;总…

如何设置Bios启动项

1.重启计算机&#xff0c;并进入BIOS设置。不同电脑的进入方式可能略有不同&#xff0c;一般可以在启动时按下F2、Del或Esc键。 2.找到“Boot”或“启动”选项卡&#xff0c;并选择要更改的启动设备顺序。 3.使用方向键将首选项移动到所需的启动设备上&#xff0c;并按下加号…

Mac系统开机启动项如何设置

MacOS更新后&#xff0c;登录项的设置不在“用户与群组”中设置了&#xff0c;而是在“通知”中的“登录项”中进行设置 即 系统设置>通用>登录项

ubuntu设置开机启动项

sudo vim /etc/default/grub 有文本&#xff1a; GRUB_DEFAULT0 GRUB_TIMEOUT_STYLEhidden GRUB_TIMEOUT0 GRUB_DISTRIBUTORlsb_release -i -s 2> /dev/null || echo Debian GRUB_CMDLINE_LINUX_DEFAULT“quiet splash” GRUB_CMDLINE_LINUX“” 注释或修改相应的条目 执行…

怎么打开计算机开机启动菜单,启动项,教您电脑开机启动项怎么设置

开机启动项怎么设置几乎成了每个网友在使用电脑中必然会碰到的小麻烦。这个棘手的问题也许并非木马病毒所致&#xff0c;但同样会影响上网的心情&#xff0c;试想开机等上个6分钟&#xff1f;那电脑开机启动项怎么设置&#xff1f;下面&#xff0c;小编给大家介绍电脑开机启动项…

戴尔r540服务器修改开机启动项,在BIOS设置中如何修改开机启动项

欢迎大家来到学习啦。如今u盘装系统的方法已经遍布了不少电脑装机城中&#xff0c;只要通过制作好的u盘启动盘就可以为电脑快速装机。通常我们所知道的使用方法则是在电脑开机启动时使用u盘启动快捷键即可达成&#xff0c;但通常这一方法适用于目前新生产的各类电脑&#xff0c…