JAva進法まとめ
3507 ワード
/**
*
* @return
*/
public static String getCurrenttime(){
Date date = null;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String fDate = sdf.format(new Date());
return fDate;
}
/**
* , ,
* @param s
* @param pos
* @return
*/
public static String reversal(String s,int pos){
String result="";
int n=s.length();
for(int i=0;i<pos-n;i++){
s="0"+s;
}
int m=pos/2;
result=s.substring(m, m*2)+s.substring(0, m);
return result;
}
/**
* 16
*
* @param hexString
* 16
* @return
**/
public static byte[] toByteArray(String hexString) {
if (hexString.isEmpty())
throw new IllegalArgumentException("this hexString must not be empty");
hexString = hexString.toLowerCase();
final byte[] byteArray = new byte[hexString.length() / 2];
int k = 0;
for (int i = 0; i < byteArray.length; i++) {// 16 , 4 , 16 ,
byte high = (byte) (Character.digit(hexString.charAt(k), 16) & 0xff);
byte low = (byte) (Character.digit(hexString.charAt(k + 1), 16) & 0xff);
byteArray[i] = (byte) (high << 4 | low);
k += 2;
}
return byteArray;
}
/**
* crc16
* @param bufData
* @param buflen
* @return
*/
public static String get_crc16 (byte[] bufData, int buflen)
{
int ret = 0;
int CRC = 0x0000ffff;
int POLYNOMIAL = 0x0000a001;
int i, j;
for (i = 0; i < buflen; i++)
{
CRC ^= ((int)bufData[i] & 0x000000ff);
for (j = 0; j < 8; j++)
{
if ((CRC & 0x00000001) != 0)
{
CRC >>= 1;
CRC ^= POLYNOMIAL;
}
else
{
CRC >>= 1;
}
}
//System.out.println(Integer.toHexString(CRC));
}
return Integer.toHexString(CRC);
}
/**
* 16 2
* @param hexString
* @return
*/
public static String hexString2binaryString(String hexString) {
if (hexString == null || hexString.length() % 2 != 0)
return null;
String bString = "", tmp;
for (int i = 0; i < hexString.length(); i++) {
tmp = "0000"
+ Integer.toBinaryString(Integer.parseInt(hexString
.substring(i, i + 1), 16));
bString += tmp.substring(tmp.length() - 4);
}
return bString;
}
/**
* 16
* @param b
* @return
*/
public static String Bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret += hex.toUpperCase();
}
return ret;
}
プロジェクトで使用されるいくつかの常用進数変換は、皆さんに役に立つことを望んでいます.