`

JAVA基础进制转换

 
阅读更多
进制转换问题

Integer.toString(target_i, 16);就是十六进制,
Integer.toString(target_i, 2);就是二进制,
Integer.toString(target_i, 8);就是八进制,
Long,Float 也具有同样的方法



// 16进制到2进制
int Integer.decode("0xFF");
---------------------------------------------------
// 转化字符串为十六进制编码

public static String toHexString(String s)   
{   
  String str="";   
  for (int i=0;i<s.length();i++)   
  {   
    int ch = (int)s.charAt(i);   
    String s4 = Integer.toHexString(ch);   
    str = str + s4; 
   }   
   return str;   
} 



// 字符串16进制,互转
private static String hexString="0123456789ABCDEF"; 
public static String decode(String bytes) 
	{ 
		ByteArrayOutputStream baos=new ByteArrayOutputStream(bytes.length()/2); 
		//将每2位16进制整数组装成一个字节 
		for(int i=0;i<bytes.length();i+=2) 
		{
			baos.write((hexString.indexOf(bytes.charAt(i))<<4 |hexString.indexOf(bytes.charAt(i+1)))); 
		}
		return new String(baos.toByteArray());
	}
	 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++) 
		{ 
		sb.append(hexString.charAt((bytes[i]&0xf0)>>4)); 
		sb.append(hexString.charAt((bytes[i]&0x0f)>>0)); 
		} 
		return sb.toString(); 
	 }




// byte[] 数组转换为16进制字符串

public static void toHex(byte[] src)
	{    
	    StringBuilder stringBuilder = new StringBuilder("");    
	    if (src == null || src.length <= 0) {    
	        return ;
	    }   
	    for (int i = 0; i < src.length; i++) {    
	        int v = src[i] & 0xFF;    
	        String hv = Integer.toHexString(v);   
	        if (hv.length() < 2) {    
	            stringBuilder.append(0);    
	        }   
	        stringBuilder.append(hv);   
	    }   
	   System.out.println(stringBuilder.toString());
	}   



// 该方法测试各种编码格式,生成的16进制,位数是不同的·
public static void encode() 
	{ 
        String name = "I am 泰山"; 
        
        try { 
            byte[] iso8859 = name.getBytes("ISO-8859-1"); 
            toHex(iso8859); 
            byte[] gb2312 = name.getBytes("GB2312"); 
            toHex(gb2312); 
            byte[] gbk = name.getBytes("GBK"); 
            toHex(gbk); 
            byte[] utf16 = name.getBytes("UTF-16"); 
            toHex(utf16); 
            byte[] utf8 = name.getBytes("UTF-8"); 
            toHex(utf8); 
        } catch (UnsupportedEncodingException e) { 
            e.printStackTrace(); 
        } 
   } 


结果如下:
4920616d203f3f
4920616d20cca9c9bd
4920616d20cca9c9bd
feff004900200061006d00206cf05c71
4920616d20e6b3b0e5b1b1
分享到:
评论

相关推荐

    Java实现的进制转换工具类完整示例

    Java实现的进制转换工具类完整示例 Java实现的进制转换工具类是Java语言中的一种常用工具类,用于实现各种进制之间的转换操作,如二进制、十六进制、字符串、数组等。该工具类主要提供了将字节数组转换为十六进制...

    java 进制转换工具类 java 进制转换工具类

    java 进制转换工具类 java 进制转换工具类java 进制转换工具类 java 进制转换工具类java 进制转换工具类 java 进制转换工具类

    java基础,进制转换.pdf

    从提供的文件信息中,我们可以提取以下知识点: 1. Java程序的运行环境...通过这些详细知识点,我们可以充分理解Java基础中的数据类型、进制转换、以及与之相关的概念。这对于深入学习Java编程语言是非常有帮助的。

    java中进制转换(二进制,十进制,十六进制)及字节数组与十六进制的转换

    在Java编程中,进制转换是一项基础且重要的技能,尤其在处理数据传输、网络通信(如蓝牙通信)或者低级别数据处理时。本篇将详细阐述如何在Java中进行二进制、十进制和十六进制之间的转换,以及字节数组与十六进制...

    java 任意进制转换(源码)

    在Java编程语言中,进制转换是一项基础但重要的技能,特别是在处理数字表示和数据解析时。本程序提供了一个Java桌面小应用程序,它允许用户进行任意进制之间的转换,包括从字符和字符串转换到其他进制数。下面我们将...

    java编写的进制转换器(带图形界面)

    一个用java写的进制转换器,有图形界面。 主要是调用java的lang类进行转换。

    java编写通用进制转化程序,适合java中学习进制转换

    java编写通用进制转化程序,适合java中学习进制转换

    Java进制转换实现

    运行这段代码,你会看到不同的进制转换结果,从而加深对Java进制转换的理解。 在实际开发中,进制转换被广泛应用于数据编码、网络通信、内存表示等方面。例如,在网络编程中,IP地址通常以点分十进制形式表示,但在...

    Java进制转换,十六进制、十进制、二进制

    Java进制转换 正整数的十进制转换二进制 将一个十进制数除以二,得到的商再除以二,依此类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。 由于计算机...

    Java进制转换方法整理

    一、利用Integer将十进制的数进行进制转换 方法 十进制转换其他进制 使用方法 返回值 10进制转2进制 Integer.toBinaryString(n) 一个二进制字符串 10进制转8进制 Integer.toOctalString(n) 一个八进制字符...

    java 26进制转换

    在Java编程语言中,26进制转换是一种特殊形式的编码,它不是标准的计算机科学概念,但在某些特定场景下可能会被用到。通常,我们谈论的进制转换包括二进制、八进制、十进制和十六进制之间的转换。然而,"26进制"通常...

    java各进制转换类

    java学习,java各进制转换类,方便使用java开发重利用。

    JAVA实用进制转换

    ### JAVA实用进制转换知识点详解 #### 一、概述 在计算机科学中,不同进制间的数字转换是一项基本且重要的技能。Java作为一种广泛使用的编程语言,提供了多种内置的方法来实现不同进制之间的转换,比如从十进制转换...

    java进制转换工具类

    二进制数组转换为二进制字符串 将二进制数组转换为十六进制字符串 将十六进制转换为二进制字节数组 将十六进制转换为二进制字符串

    Java编写的进制转换程序

    在编程领域,进制转换是一项基础且重要的技能,尤其是在处理二进制、八进制、十进制和十六进制等不同数值系统时。Java语言提供了丰富的API来支持这些转换,使得开发者能够轻松地在各种进制间进行切换。本项目就是一...

    java十进制转换二进制

    ### Java十进制转换二进制 在计算机科学领域,数据表示和转换是十分重要的基础知识之一。本篇文章将深入解析一个使用Java语言编写的程序,该程序能够将十进制正数和负数转换为二进制形式。通过分析代码逻辑、算法...

    简单的java整数进制转换程序

    一个整数的进制转换,用的全部是JAVA封装好的类,只是练练排版 开发环境为JAVA6 里面有一个swing外观包,找的很辛苦又不会使用的可以学习下,本程序调用的是office2007外观,个人感觉很漂亮,而且我写的很多程序都用...

    Java 小数进制转换,实现任意进制转换为任意进制的方法

    废话不多上干货! /** * 个人数学工具 * * @author Suage */ class Convert { ... //输入进制 private int sysIn; //输出进制 private int sysOut; //输入实际值 private double actualValue;

Global site tag (gtag.js) - Google Analytics