package fc.com.utils;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ByteForIntUtils {
//将16进制字符转为int类型
public static int getValueFromByte(int[] a)
{
int rst = 0;
for(int i=0; i<a.length; i++)
{
rst *= 256;
rst += a[i];
}
return rst;
}
public static int[] getBuff(String str)
{
int len = str.length()/2;
int[] rst = new int[len];
char [] cstr = str.toUpperCase().toCharArray();
for(int i=0; i<len; i++)
{
rst[i] = ( toByte(cstr[2*i])<<4| toByte(cstr[2*i+1]));
}
return rst;
}
public static int toByte(char c)
{
return ("0123456789ABCDEF".indexOf(c));
}
public static String longToDate(long lo){
Date date = new Date(lo);
SimpleDateFormat sd = new SimpleDateFormat("HH:mm:ss");
return sd.format(date);
}
public static String longToDates(long lo){
Date date = new Date(lo);
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sd.format(date);
}
public static String getStringDate(Date t) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(t);
return dateString;
}
public static Date strToDate(String strDate) {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ParsePosition pos = new ParsePosition(0);
Date strtodate = formatter.parse(strDate, pos);
return strtodate;
}
//TCP16进制转为String
public static String bytesToHexString(byte[] src, int len) {
StringBuffer sb = new StringBuffer("");
if (src == null || src.length <= 0) {
}
for (int i = 0; i < len; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v).toUpperCase();
if (hv.length() < 2) {
sb.append(0);
}
sb.append(hv);
sb.append(" ");
}
return sb.toString().trim();
}
//TCP16进制转为String
public static String bytesToHexString(byte[] src) {
StringBuffer sb = new StringBuffer("");
if (src == null || src.length <= 0) {
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v).toUpperCase();
if (hv.length() < 2) {
sb.append(0);
}
sb.append(hv);
if (i != src.length - 1) {
sb.append(" ");
}
}
return sb.toString();
}
public static byte[] hexStringToBytes(String hexString) {
if (hexString == null || hexString.equals("")) {
return null;
}
hexString = hexString.toUpperCase().replace(" ", "");
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;
}
private static byte charToByte(char c) {
return (byte) "0123456789ABCDEF".indexOf(c);
}
}