资源简介

java与android串口通信示例代码

资源截图

代码片段和文件信息




public class ConvertFactory {

// /**
//  * 将字节数组转换为16进制字符串
//  * 
//  * @param buffer
//  * @return
//  */
// public static String toHex(byte[] buffer) {
//
// StringBuffer sb = new StringBuffer(buffer.length * 2);
//
// for (int i = 0; i < buffer.length; i++) {
//
// sb.append(Character.forDigit((buffer[i] & 240) >> 4 16));
//
// sb.append(Character.forDigit(buffer[i] & 15 16));
//
// }
//
// return sb.toString();
// }
//
// public static int byteArrayToInt(byte[] b int offset) {
// int value = 0;
// for (int i = 0; i < 4; i++) {
// int shift = (4 - 1 - i) * 8;
// value += (b[i + offset] & 0x000000FF) << shift;// 往高位游
// }
// return value;
// }

public static byte[] intToByteArray(int i) {
byte[] result = new byte[4];
result[0] = (byte) ((i >> 24) & 0xFF);
result[1] = (byte) ((i >> 16) & 0xFF);
result[2] = (byte) ((i >> 8) & 0xFF);
result[3] = (byte) (i & 0xFF);
return result;
}
/*
 * 
 */
public static byte[] shortToBytes(short n) {
byte[] b = new byte[2];
b[1] = (byte) (n & 0xff);
b[0] = (byte) ((n >> 8) & 0xff);
return b;
}

public static short bytesToShort(byte[] b) {
return (short) (b[1] & 0xff | (b[0] & 0xff) << 8);
}

public static byte[] intToBytes(int num) {
byte[] b = new byte[4];
for (int i = 0; i < 4; i++) {
b[i] = (byte) (num >>> (24 - i * 8));
}
return b;
}

public static int bytes2int(byte[] b) {

int mask = 0xff;
int temp = 0;
int res = 0;
for (int i = 0; i < 4; i++) {
res <<= 8;
temp = b[i] & mask;
res |= temp;
}
return res;
}

public static byte[] longToBytes(long num) {
byte[] b = new byte[8];
for (int i = 0; i < 8; i++) {
b[i] = (byte) (num >>> (56 - i * 8));
}
return b;
}

public static String str2HexStr(String str) {
char[] chars = “0123456789ABCDEF“.toCharArray();
StringBuilder sb = new StringBuilder(““);
byte[] bs = str.getBytes();
int bit;
for (int i = 0; i < bs.length; i++) {
bit = (bs[i] & 0x0f0) >> 4;
sb.append(chars[bit]);
bit = bs[i] & 0x0f;
sb.append(chars[bit]);
}
return sb.toString();
}

public static String bytesToHexString(byte[] bArray) {
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2) {
sb.append(0);
}
sb.append(sTemp.toUpperCase());
}
return sb.toString();
}

public static String byteToHexString(byte b){
String sTemp=Integer.toHexString(0xFF & b);
return sTemp.toUpperCase();
}

public static byte[] hexStringToBytes(String hexString) {
String chars = “0123456789ABCDEF“;
if (hexString == null || hexString.equals(““)) {
return null;
}
hexString = hexString.toUpperCase();
int length = hexString.length() / 2;
char[] hexChars = hexString.toCharArray();
byte[] d = new byte[length];

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-06-13 19:06  MySerialPort\
     文件         349  2017-04-26 19:53  MySerialPort\.classpath
     文件        6148  2017-06-13 20:03  MySerialPort\.DS_Store
     目录           0  2017-06-13 20:26  __MACOSX\
     目录           0  2017-06-13 20:26  __MACOSX\MySerialPort\
     文件         120  2017-06-13 20:03  __MACOSX\MySerialPort\._.DS_Store
     文件         371  2017-04-26 19:52  MySerialPort\.project
     目录           0  2017-04-26 19:52  MySerialPort\.settings\
     文件         587  2017-04-26 19:52  MySerialPort\.settings\org.eclipse.jdt.core.prefs
     目录           0  2017-05-05 18:47  MySerialPort\bin\
     文件        3089  2017-05-05 18:47  MySerialPort\bin\ConvertFactory.class
     文件         894  2017-06-13 20:25  MySerialPort\bin\Main.class
     文件        4121  2017-06-13 20:25  MySerialPort\bin\RxtxConThread.class
     目录           0  2017-04-26 19:52  MySerialPort\lib\
     文件       59464  2017-04-26 19:52  MySerialPort\lib\RXTXcomm.jar
     目录           0  2017-04-26 19:57  MySerialPort\src\
     文件        3220  2017-04-26 19:56  MySerialPort\src\ConvertFactory.java
     文件         445  2017-06-13 20:25  MySerialPort\src\Main.java
     文件        4109  2017-06-13 20:25  MySerialPort\src\RxtxConThread.java

评论

共有 条评论