打开控制面板
点击“DataWedge”图标
双击图标打开;
点击“Status:”,条码扫描开启
点“Basic format...“
点”Send data Enabled“
点”7. Send ENTER key“,条码扫描后自动加回车键(根据需要也可选TAB键)
如上界面通过扫描输入来查询,若不解码显示出来的是类似“53534e303031313530383234303031”的HEX码输入条件,此种情况自然就查不出相关的记录了;
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; } }
public class StringTest extends TestCase { @Test public void testHex() throws UnsupportedEncodingException{ String hexString="53534e303031313530383234303031"; byte[] bytes=PDAHexDecoder.hexStringToBytes(hexString); String result=new String(bytes, "UTF-8"); System.out.println(result); } @Test public void testStringToHex(){ String str="SSN001150824001"; String hexString=PDAHexDecoder.bytesToHexString(str.getBytes()); System.out.println(hexString); } }
// 扫描二维码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("解码提示:网络访问异常!"); } }); }