`

java 数字转化成字节存储算法

    博客分类:
  • java
 
阅读更多
http://jlins.iteye.com/blog/1062928
package com;

import java.io.File;

import java.io.FileOutputStream;
import java.io.IOException;

public class TestByte {

	/**
	 * ip转化成4个字节进行存储,然后再把四个字节转换成byte
	 */
	public static void ipTobyte()
	{
	   String ip="222.168.205.83";	
	   String[] ips = ip.split("\\.");
	   int ip1 = Integer.valueOf(ips[0]);
	   int ip2 = Integer.valueOf(ips[1]);
	   int ip3 = Integer.valueOf(ips[2]);
	   int ip4 = Integer.valueOf(ips[3]);
	   System.out.println(ip1);
	   System.out.println(ip2);
	   System.out.println(ip3);
	   System.out.println(ip4);
	   byte b1 = (byte)ip1;
	   byte b2 = (byte)ip2;
	   byte b3 = (byte)ip3;
	   byte b4 = (byte)ip4;
	   
	   System.out.println(b1);
	   System.out.println(b2);
	   System.out.println(b3);
	   System.out.println(b4);
	   // int 转byte之后 操作127的数字将全部变成负数形式,如果想转成原来的 int值  直接 & 0xFF
	   System.out.println(b1 & 0xFF);
	   System.out.println(b2 & 0xFF);
	   System.out.println(b3 & 0xFF);
	   System.out.println(b4 & 0xFF);
	   
	}
	public static void byteToIP()
	{
		
	}
	/**
	 * long -> 4位字节 -> long 
	 * 主要是做了一个数据压缩算法
	 * 比如说一个ip可以直接存储成4个字节
	 */
	public static void numToBinaryString()
	{
		//源数字
		long num = 98786657;
		//转化成二进制串
		String binary = Long.toBinaryString(num);
		System.out.println(binary);
	    int length = 32-binary.length();
	    //补充到32位
		for(int i=0;i<length;i++)
		{
			binary = '0'+binary;
		}
		System.out.println(binary);
		System.out.println(binary.length());
		//分割成四个字节 (一个字节8位)
		String b1 = binary.substring(0, 8);
		String b2 = binary.substring(8, 16);
		String b3 = binary.substring(16, 24);
		String b4 = binary.substring(24, 32);
		System.out.println(b1);
		System.out.println(b2);
		System.out.println(b3);
		System.out.println(b4);
		//8位转化成一个字节
		int a1 = Integer.valueOf(b1, 2);
		int a2 = Integer.valueOf(b2, 2);
		int a3 = Integer.valueOf(b3, 2);
		int a4 = Integer.valueOf(b4, 2);
		System.out.println(a1);
		System.out.println(a2);
		System.out.println(a3);
		System.out.println(a4);
		byte c1 = (byte)a1;
		byte c2 = (byte)a2;
		byte c3 = (byte)a3;
		byte c4 = (byte)a4;
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
		System.out.println(c4);
		
		//把字节转化成long 
		long ret = 0;
		ret |= c4 & 0xFF;
		ret |= (c3<<8) & 0xFF00;
		ret |= (c2<<16) & 0xFF0000;
		ret |= (c1<<24) & 0xFF000000;
		
		System.out.println(ret);
		// Integer.toBinaryString(c4&0xFF);
	//	System.out.println();
		
	}
	/**
	 * 把字节写入文件,看看是啥效果
	 * @throws IOException
	 */
	public static void writeByteToFile() throws IOException
	{
		File file = new File("a.txt");
		FileOutputStream fis = new FileOutputStream(file);
		fis.write(-106);
		fis.write(-38);
		fis.write(0);
		fis.write(11);
		fis.flush();
		System.out.println(file.getAbsolutePath());
	}
	public static void main(String[] args) throws IOException
	{
	//	TestByte.writeByteToFile();
	//	TestByte.numToBinaryString();
		TestByte.ipTobyte();
	}
}

分享到:
评论

相关推荐

    整数可变字节的压缩算法

    整数可变字节压缩算法是一种针对整数序列进行高效压缩的方法,它能够减少数据占用的存储空间,提高传输效率。本篇将深入探讨如何使用Java实现整数可变字节(Variable-Length Integer Encoding)的压缩为二进制流的...

    java实现的RC4加密解密算法示例

    2. 生成密钥数组:将密钥字符串转换为字节数组,并将其存储在一个大小为256的字节数组中。 3. 混合密钥数组:使用密钥数组和S-box数组进行混合,生成最终的S-box数组。 4. 加密或解密:使用S-box数组对输入字符串...

    JAVA中MD5加密密码算法

    MD5算法将任意长度的输入(也叫做预映射,pre-image)通过一系列复杂运算转化为固定长度的128位(16字节)的输出,通常用32个十六进制数字表示。由于MD5的输出是不可逆的,所以它被用于密码加密,防止原始密码被轻易...

    Java实现AES加密和解密算法

    `parseByte2HexStr`方法将字节数组转换为十六进制字符串,这允许在日志、存储或显示时以人类可读的形式表示加密数据。相反,`parseHexStr2Byte`方法将十六进制字符串转换回字节数组,以便于解密。 在实际应用中,...

    java数字图像处理常用算法

    ### Java数字图像处理常用算法详解 #### 一、读取 BMP 图片数据 在 Java 数字图像处理领域中,读取 BMP 图片是一项基础而重要的技能。BMP(Bitmap Image File Format)是一种位图文件格式,它存储的是未经压缩的...

    JAVA数字图像处理常用算法.pdf

    本文将围绕Java实现数字图像处理中的关键算法进行深入探讨,特别是从给定的PDF文档中提取的一些核心代码片段。 首先,我们要理解如何在Java中读取BMP格式的图像数据。BMP是一种未经压缩的图像文件格式,其结构包含...

    base64转码解密成明文加密成Java密文

    本主题将深入探讨“Base64转码解密成明文”以及“Base64加密成Java密文”的过程,并介绍相关的Java实现。 首先,我们来看Base64解码。Base64编码的基本原理是将每3个字节的数据(24位)分成4组,每组6位,然后将这6...

    Java数字图像常用算法总集

    本篇文章将聚焦于Java中处理数字图像的一些常见算法,特别是针对BMP格式的图像。 首先,我们来看读取BMP图片数据的算法。BMP是Windows操作系统中的一种位图文件格式,其文件头包含了图像的基本信息,如宽度、高度、...

    SHA-256加密算法JAVA

    总结来说,Java中的SHA-256加密算法实现涉及使用`MessageDigest`类创建SHA-256实例,更新输入数据,然后获取并转换哈希值。这个过程既简单又强大,为数据安全提供了重要的保障。在实际应用中,可以对文本、文件等...

    用java实现的sha1加密算法

    总的来说,Java中的SHA1加密算法主要通过`MessageDigest`类实现,可以用于数据完整性验证、密码存储等方面。不过需要注意的是,由于SHA1的安全性相对较弱,已被SHA-256或更强大的算法所取代,适用于更安全的应用场景...

    java实现MD5加密算法

    它能够将任意长度的数据转换为固定长度的128位(16字节)摘要,通常用32个十六进制数字表示。在Java中实现MD5加密算法主要涉及以下几个知识点: 1. **MD5的基本原理**:MD5是一种单向哈希函数,它的主要特点是快速...

    java的MD5算法

    - **更新待处理的消息**:`messageDigest.update(str.getBytes("UTF-8"))`将指定的字符串转换成字节数组,并更新消息摘要。 - **获取消息摘要**:`messageDigest.digest()`执行最终的摘要操作并返回摘要值。 - **...

    算术算法压缩实现Java

    4. **输入输出处理**:为了实际读写文件,需要实现从字节流到符号的转换,以及从符号到字节流的转换。这通常涉及字节缓冲区和位操作。 5. **测试和优化**:编写测试用例,确保编码和解码的一致性,同时优化性能,如...

    Java加密算法(源代码)

    加密过程中通常需要进行字节与字符串之间的转换,Java提供了Base64、Hex等编码工具类,方便进行数据编码和解码。 在实际编程中,开发者需要根据具体需求选择合适的加密算法,并合理管理密钥,以确保数据的安全。...

    JAVA_DES3加密算法.doc

    3. **字节数组到字符串**:解密后的字节数组再转换回原始字符串,这里使用了`new String(byte[], "UTF8")`将字节数组按照UTF-8解码成字符串。 在提供的`main()`方法中,创建了一个`ThreeDES`类的实例,通过`getKey...

    JAVA上加密算法的实现用例.rar_java 加密_加密_加密算法 java

    在Java编程语言中,加密算法是安全领域的重要组成部分,用于保护数据的隐私和完整性。本文将深入探讨Java中常见的加密算法及其实现,旨在为开发者提供一个实用的加密算法指南。 一、基本概念 1. 密码学:密码学是...

    java序列化原理与算法

    Java中的序列化是指将对象的状态转换为字节流的过程,以便在网络上传输或保存到磁盘等存储介质中。而反序列化则是将字节流恢复为原始对象状态的过程。这两种操作对于跨进程通信、对象持久化以及对象克隆等场景至关...

    md5算法java

    ### MD5算法在Java中的实现 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它能够将任意长度的数据转换为一个固定长度(通常是128位)的十六进制字符串。这种转换通常被称为“摘要”...

    java基础,进制转换.pdf

    - char:双字节存储的字符型,表示单个字符。 - boolean:逻辑类型,取值为true或false。 4. 进制转换和数据表示 - 二进制转换:通过计算机内的算法,可以将一个数值在不同进制间进行转换,例如将十进制转换为二...

Global site tag (gtag.js) - Google Analytics