`
wlh269
  • 浏览: 447151 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

进制转换

    博客分类:
  • J2SE
阅读更多
16进制和字符串之间转换---

import java.io.ByteArrayOutputStream;

public class TestHEXAndString {

	private static String hexString = "0123456789abcdef";

	/**
	 * @param args
	 */

	public static void main(String[] args) {
		//String str1="王杰";
		//String str1="wulihai";
		//System.out.println("原始字符为:"+str1);
		//String str2=encode(str1);
		
		//System.out.println("16进制编码:"+str2);
		System.out.println("将16进制解码:"+decode("02"));
	}

	 /**
	 * 将字符串编码成16进制数字,适用于所有字符(包括中文)
	 */
	public static String encode(String str) {
		// 根据默认编码获取字节数组
		byte[] bytes = str.getBytes();
		 StringBuilder sb = new StringBuilder(bytes.length * 2);
		
		// 将字节数组中每个字节拆解成2位16进制整数
		for (int i = 0; i < bytes.length; i++) {
			//拿到一个字节的高4位
			sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));
			//拿到一个字节的低4位
			sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));
		}
		return sb.toString();
	}

	/**
	 * 将16进制数字解码成字符串,适用于所有字符(包括中文)
	 */
	public static String decode(String bytes) {
		ByteArrayOutputStream baos = new ByteArrayOutputStream(	bytes.length() / 2);
		// 将每2位16进制整数组装成一个字节
		for (int i = 0; i < bytes.length(); i += 2){
			int a=hexString.indexOf(bytes.charAt(i)) << 4;
			int b=hexString.indexOf(bytes.charAt(i + 1));
			baos.write((a | b));
		}
			
		return new String(baos.toByteArray());
	}

}




16进制,2进制和8进制 与10进制之间的转换

public class Test2to10And8to10And16to10 {

	public static void main(String []args){

		//16进制到10进制
		int value1=Integer.parseInt("003985FB",16);
		System.out.println("value1="+value1);
		
		
		//2进制到10进制
		int value2=Integer.parseInt("1100110", 2);
		System.out.println("value2="+value2);
		
		//8进制到10进制
		int value3=Integer.parseInt("77", 8);
		System.out.println("value2="+value3);
		
		
        //10进制到2进制
		String value4=Integer.toBinaryString(10);
		System.out.println("value4="+value4);
		//10进制到16进制
		String value5=Integer.toHexString(65);
		System.out.println("value5="+value5);
		//10进制到8进制
		String value6=Integer.toOctalString(63);
		System.out.println("value6="+value6);
		}
	
	
	    
	
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics