- 浏览: 163624 次
- 来自: ...
-
文章分类
- 全部博客 (110)
- 网络 (3)
- window (1)
- eclipse (2)
- mysql (3)
- java (43)
- spring (2)
- memcahe (4)
- kestrel (1)
- linux (19)
- maven (1)
- 总结 (1)
- ActiveMQ (1)
- 线程 (6)
- nio (7)
- java pool (1)
- IO (1)
- 架构 (1)
- Hadoop (1)
- Storm (1)
- zookeeper (3)
- 工作进程 (1)
- epoll (3)
- nginx (4)
- uml (1)
- 分布式 (1)
- RMI (4)
- redis (1)
- shell (4)
- 黄金文档 (1)
- office (2)
- linux_setup (1)
- visio (1)
- BIOS (1)
- 回调 (1)
- jvm (1)
- resin (1)
- ssd (0)
- xmpp (1)
最新评论
-
qxjandyc:
hjjjjjjjjjjjjjjjjjjjjjj
(emoji表情) unicode5与unicode6互换 -
一个人旅行:
写的不错哦
(emoji表情) unicode5与unicode6互换
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 final关键字
2012-10-21 21:20 1065Java中的final关键字通常的指的是“这是无法改变的”。它 ... -
Java:List中的toArray()的使用方法
2012-10-16 17:15 1074http://webservices.ctocio.com.c ... -
jvm 参数设置 -D
2012-10-16 14:06 9611、log4j 配置文件 -Dlog4j.configurat ... -
Java核心技术(第8版) – 读书笔记
2012-09-03 15:15 801http://www.coder4.com/archives/ ... -
线程123总结
2012-09-02 22:34 778线程同步的真实意思,其实是“排队”:几个线程之间要排队,一个一 ... -
Arraylist与linkedlist的区别
2012-08-31 16:44 787List: 有顺序的,元素可以重复 遍历:for 迭代 排 ... -
Java RMI之HelloWorld篇
2012-08-29 11:53 594http://www.cnblogs.com/ninahan0 ... -
Comparator和Comparable在排序中 区别
2012-08-21 09:40 756当需要排序的集合或数组不是单纯的数字类型的时候,通常可以使用C ... -
Spring Bean相关的接口、aware接口、FactoryBean
2012-08-02 14:57 37401、 package spring.beansandcon ... -
关系 UML 说明
2012-08-01 22:56 789关联是类之间的一种关系,例如老师教学生,老公和老婆,水壶装水等 ... -
replace和replaceAll 区别
2012-08-01 14:59 820replace和replaceAll是JAVA中常用的替换字符 ... -
JAVA ANNOTATION详解
2012-08-01 14:56 758http://www.cnblogs.com/phoebus0 ... -
Java中的Enum用法介绍
2012-07-27 09:39 991http://blog.sina.com.cn/s/blog_ ... -
获取本地ip
2012-07-26 09:09 908/** * @Title: getLocalIp ... -
动态代理
2012-07-25 10:29 728http://blog.csdn.net/cz_hyf/art ... -
NIO揭秘-1
2012-07-24 11:15 731http://my.oschina.net/zhangya/b ... -
FileChannel类的简单用法
2012-07-23 20:12 899http://blog.163.com/yf_198407/b ... -
JDK5.0 新特性
2012-07-23 17:30 7611.AutoBoxing 原来int是非Object,在JDK ... -
java jdk5 新特性 Annotation(注释)
2012-07-23 17:29 840http://www.iteye.com/topic/1653 ... -
java jdk5 新特性 可变参数
2012-07-23 17:28 703java jdk5 的新特性:可变参数 Java代码 ...
相关推荐
整数可变字节压缩算法是一种针对整数序列进行高效压缩的方法,它能够减少数据占用的存储空间,提高传输效率。本篇将深入探讨如何使用Java实现整数可变字节(Variable-Length Integer Encoding)的压缩为二进制流的...
2. 生成密钥数组:将密钥字符串转换为字节数组,并将其存储在一个大小为256的字节数组中。 3. 混合密钥数组:使用密钥数组和S-box数组进行混合,生成最终的S-box数组。 4. 加密或解密:使用S-box数组对输入字符串...
MD5算法将任意长度的输入(也叫做预映射,pre-image)通过一系列复杂运算转化为固定长度的128位(16字节)的输出,通常用32个十六进制数字表示。由于MD5的输出是不可逆的,所以它被用于密码加密,防止原始密码被轻易...
`parseByte2HexStr`方法将字节数组转换为十六进制字符串,这允许在日志、存储或显示时以人类可读的形式表示加密数据。相反,`parseHexStr2Byte`方法将十六进制字符串转换回字节数组,以便于解密。 在实际应用中,...
### Java数字图像处理常用算法详解 #### 一、读取 BMP 图片数据 在 Java 数字图像处理领域中,读取 BMP 图片是一项基础而重要的技能。BMP(Bitmap Image File Format)是一种位图文件格式,它存储的是未经压缩的...
本文将围绕Java实现数字图像处理中的关键算法进行深入探讨,特别是从给定的PDF文档中提取的一些核心代码片段。 首先,我们要理解如何在Java中读取BMP格式的图像数据。BMP是一种未经压缩的图像文件格式,其结构包含...
本主题将深入探讨“Base64转码解密成明文”以及“Base64加密成Java密文”的过程,并介绍相关的Java实现。 首先,我们来看Base64解码。Base64编码的基本原理是将每3个字节的数据(24位)分成4组,每组6位,然后将这6...
本篇文章将聚焦于Java中处理数字图像的一些常见算法,特别是针对BMP格式的图像。 首先,我们来看读取BMP图片数据的算法。BMP是Windows操作系统中的一种位图文件格式,其文件头包含了图像的基本信息,如宽度、高度、...
总结来说,Java中的SHA-256加密算法实现涉及使用`MessageDigest`类创建SHA-256实例,更新输入数据,然后获取并转换哈希值。这个过程既简单又强大,为数据安全提供了重要的保障。在实际应用中,可以对文本、文件等...
总的来说,Java中的SHA1加密算法主要通过`MessageDigest`类实现,可以用于数据完整性验证、密码存储等方面。不过需要注意的是,由于SHA1的安全性相对较弱,已被SHA-256或更强大的算法所取代,适用于更安全的应用场景...
它能够将任意长度的数据转换为固定长度的128位(16字节)摘要,通常用32个十六进制数字表示。在Java中实现MD5加密算法主要涉及以下几个知识点: 1. **MD5的基本原理**:MD5是一种单向哈希函数,它的主要特点是快速...
- **更新待处理的消息**:`messageDigest.update(str.getBytes("UTF-8"))`将指定的字符串转换成字节数组,并更新消息摘要。 - **获取消息摘要**:`messageDigest.digest()`执行最终的摘要操作并返回摘要值。 - **...
4. **输入输出处理**:为了实际读写文件,需要实现从字节流到符号的转换,以及从符号到字节流的转换。这通常涉及字节缓冲区和位操作。 5. **测试和优化**:编写测试用例,确保编码和解码的一致性,同时优化性能,如...
加密过程中通常需要进行字节与字符串之间的转换,Java提供了Base64、Hex等编码工具类,方便进行数据编码和解码。 在实际编程中,开发者需要根据具体需求选择合适的加密算法,并合理管理密钥,以确保数据的安全。...
3. **字节数组到字符串**:解密后的字节数组再转换回原始字符串,这里使用了`new String(byte[], "UTF8")`将字节数组按照UTF-8解码成字符串。 在提供的`main()`方法中,创建了一个`ThreeDES`类的实例,通过`getKey...
在Java编程语言中,加密算法是安全领域的重要组成部分,用于保护数据的隐私和完整性。本文将深入探讨Java中常见的加密算法及其实现,旨在为开发者提供一个实用的加密算法指南。 一、基本概念 1. 密码学:密码学是...
Java中的序列化是指将对象的状态转换为字节流的过程,以便在网络上传输或保存到磁盘等存储介质中。而反序列化则是将字节流恢复为原始对象状态的过程。这两种操作对于跨进程通信、对象持久化以及对象克隆等场景至关...
### MD5算法在Java中的实现 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它能够将任意长度的数据转换为一个固定长度(通常是128位)的十六进制字符串。这种转换通常被称为“摘要”...
- char:双字节存储的字符型,表示单个字符。 - boolean:逻辑类型,取值为true或false。 4. 进制转换和数据表示 - 二进制转换:通过计算机内的算法,可以将一个数值在不同进制间进行转换,例如将十进制转换为二...