`
kakarottoz
  • 浏览: 8227 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

java进制总结

阅读更多
	/**
	 * 获得当前的时间
	 * @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;
		}

 

项目中用到的一些常用进制转换,希望对大家有帮助~

分享到:
评论

相关推荐

    java 进制转换

    ### Java 进制转换知识点详解 #### 一、概述 在计算机科学中,不同进制之间的转换是一项基本技能。Java 提供了一系列内置方法来帮助开发者实现不同进制间的转换,如二进制(base-2)、八进制(base-8)、十进制...

    java十进制转换二进制

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

    java 二进制文件的读写操作

    ### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...

    06-Java语言基础(进制的由来

    总结起来,进制是数字系统的核心,而二进制、八进制和十六进制在计算机科学中扮演着重要角色。Java程序员需要熟悉这些进制以及在Java中的操作方法,以便在开发过程中更有效地进行数据处理和算法设计。通过深入学习和...

    java 各种进制的转换

    在编程领域,尤其是在Java语言中,理解并...总结来说,Java提供了丰富的内置函数来支持各种进制间的转换,无论是整数还是浮点数,开发者都能方便地进行操作。理解并熟练掌握这些转换方法,对于提升编程能力至关重要。

    Java:二进制方式读取文件

    ### Java:二进制方式读取文件 #### 知识点概述 在Java中,处理文件的二进制读写是非常常见的操作。本篇文章将基于提供的代码示例,深入探讨如何使用`FileInputStream`和`FileOutputStream`进行二进制文件的读取和...

    Java进制之间的转换

    总结起来,Java提供了丰富的内建功能来支持不同进制之间的转换,无论是从整数到字符串,还是从字符串到整数,都只需要简单的几行代码即可实现。这些转换在处理数据表示、编码、解码或者显示给用户时都非常实用。通过...

    Java编写的进制转换程序

    总结来说,这个Java编写的进制转换程序是学习和实践数据结构和Java编程的一个好例子。通过实际操作,你可以深入理解进制转换的逻辑,以及如何利用Java的API来简化这一过程。同时,这也是对数据结构应用的一次实战...

    java正则表达式与进制转化总结

    正则表达式在java中的应用 与 java二、八、十、十六进制相互转化总结,与具体的示例,非常不错,欢迎下载使用。

    java网络编程,UDP,发送16进制报文。

    总结,本教程介绍了如何使用Java进行UDP网络编程,特别是如何发送16进制格式的报文。通过结合Base64编码,可以实现将大型数据(如图片)分块发送。实践中,需要考虑数据完整性和网络环境的可靠性,以及服务端的数据...

    JAVA实用进制转换.pdf

    通过这个程序,可以清楚地看到一个十进制数在Java中如何被转换为二进制、八进制和十六进制的字符串。 ### 总结 在Java中,有许多内置的方法和类来处理不同进制的转换问题。这包括将字符串按照给定基数转换为整数、...

    java实现十六进制字符unicode与中英文转换示例

    总结,这个示例展示了如何在Java中处理Unicode和十六进制字符串的转换,强调了理解字符编码格式和处理过程的重要性。在实际开发中,正确处理字符编码可以避免乱码问题,确保数据的准确性和一致性。同时,开发者应该...

    java进制转换[归纳].pdf

    Java进制转换是编程中的基础概念,特别是在软件开发中,理解和掌握不同进制之间的转换至关重要。这个PDF文档可能是一个简单的Java程序示例,用于演示如何将一个任意进制的数转换为其他进制。让我们详细解析一下这个...

    java程序实现十进制转二进制,八进制,十六进制

    根据给定的信息,本文将详细解释如何在Java中开发一个简单的程序来实现十进制数向二进制、八进制以及十六进制的转换。 ### Java程序实现十进制转二进制、八进制、十六进制 #### 程序概述 此Java程序的主要功能是...

    基于Java的16进制数与2进制数互相转化方法.docx

    ### 基于Java的16进制数与2进制数互相转化方法 #### 一、十六进制数转二进制数 在提供的代码片段中,展示了一个基于Java的程序来实现从十六进制到二进制的转换。 ##### 1.1 程序结构与功能 - **类定义**:`H_to_...

    java 字符串转16进制Ascii

    总结一下,Java中字符串转16进制ASCII涉及的关键点有: 1. `char`类型的字符与ASCII码的转换。 2. 使用`Integer.toHexString()`将ASCII码转换为16进制字符串。 3. 处理Unicode字符时,需要考虑字符集和编码方式。 ...

    java_十进制数转换为二进制,八进制,十六进制数的算法

    在Java编程语言中,将十进制数转换为二进制、八进制或十六进制是常见的数据处理任务,尤其是在计算机科学与信息技术领域。本文将深入探讨如何使用Java实现这些转换,包括算法原理和具体代码实现。 ### 十进制转二...

    Java二进制IO类与文件复制操作实例

    在Java编程语言中,二进制输入/输出(IO)类是处理非文本数据的关键工具,如图片、音频、视频等。这些类使得程序能够高效地读取和写入二进制数据,而不受字符编码的限制。本教程将深入探讨Java中的二进制IO类,并...

    java的二进制操作

    ### Java的二进制操作 在Java编程语言中,对二进制文件的操作是非常常见的需求之一,尤其是在处理图像、音频等非文本数据时。Java的标准库`java.io`提供了丰富的API来支持这些操作,其中`OutputStream`及其子类是...

Global site tag (gtag.js) - Google Analytics