码迷,mamicode.com
首页 > 其他好文 > 详细

16进制转换字节数组工具类

时间:2014-06-22 17:48:40      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:class   blog   code   java   get   2014   

public class StringUtil {
	public static String str = "696d706f7274";

	public static void main(String[] args) {
		System.out.println(new String(getBytes(str)));
	}

	public static boolean isOdd(String str) {
		int length = str.length();
		int isOdd = length % 2;
		if (isOdd == 0)
			return false;
		else
			return true;
	}

	public static byte[] getBytes(String str) {
		boolean isOdd = isOdd(str);
		int size = str.length();
		if (isOdd) {
			byte[] byteOdd = new byte[size / 2 + 1];
			for (int j = 0, i = 0; i < str.length() - 1; i++) {
				if (i % 2 == 0) {
					byte a = getByteFromChar(str.charAt(i));
					byte b = getByteFromChar(str.charAt(++i));
					byteOdd[j++] = (byte) (a * 16 + b);
				}

			}
			byteOdd[size / 2] = (byte) str.charAt(str.length() - 1);
			return byteOdd;
		} else {
			byte[] byteEven = new byte[size / 2];
			for (int j = 0, i = 0; i < str.length(); i++) {
				if (i % 2 == 0) {
					byte a = getByteFromChar(str.charAt(i));
					byte b = getByteFromChar(str.charAt(++i));
					byteEven[j++] = (byte) (a * 16 + b);
				}

			}
			return byteEven;
		}

	}

	public static byte getByteFromChar(char c) {
		if (c == '0') {
			return 0;
		} else if (c == '1') {
			return 1;
		} else if (c == '2') {
			return 2;
		} else if (c == '3') {
			return 3;
		} else if (c == '4') {
			return 4;
		} else if (c == '5') {
			return 5;
		} else if (c == '6') {
			return 6;
		} else if (c == '7') {
			return 7;
		} else if (c == '8') {
			return 8;
		} else if (c == '9') {
			return 9;
		} else if (c == 'a') {
			return 10;
		} else if (c == 'b') {
			return 11;
		} else if (c == 'c') {
			return 12;
		} else if (c == 'd') {
			return 13;
		} else if (c == 'e') {
			return 14;
		} else if (c == 'f') {
			return 15;
		}
		return -1;
	}

}


16进制转换字节数组工具类,布布扣,bubuko.com

16进制转换字节数组工具类

标签:class   blog   code   java   get   2014   

原文地址:http://blog.csdn.net/huangyabin001/article/details/32334241

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!