java存储字节,java 数目字转化成字节存储算法
java 数字转化成字节存储算法
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
{
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();
}
}
1 楼
dyllove98
2011-05-28
/**
* 从ip的字符串形式得到字节数组形式
*
* @param ip
* 字符串形式的ip
* @return 字节数组形式的ip
*/
public static byte[] getIpByteArrayFromString(String ip) {
byte[] ret = new byte[4];
java.util.StringTokenizer st = new java.util.StringTokenizer(ip, ".");
try {
ret[0] = (byte) (Integer.parseInt(st.nextToken()) & 0xFF);
ret[1] = (byte) (Integer.parseInt(st.nextToken()) & 0xFF);
ret[2] = (byte) (Integer.parseInt(st.nextToken()) & 0xFF);
ret[3] = (byte) (Integer.parseInt(st.nextToken()) & 0xFF);
} catch (Exception e) {
System.out.println(e.getMessage());
}
return ret;
}
java存储字节,java 数目字转化成字节存储算法相关推荐
- android把255转换成字节,android 上传参数设置,字符转化成字节,包装流等
jsp中的小知识点 在页面输入内容控制台可以打印 必须写入的内容 value="save"/> 这个的意思是把隐藏域的值提交给了save方法了 SetDooutput(tru ...
- php字节怎么转化成字符串,php将utf-8(3字节)字符串转换成字节
//将utf-8字符串转换成字节 function strToByteArr($str){ //$str = iconv('gbk', 'utf-8', $str); $arr=array(); $l ...
- 【Java基础】Java中的char是否可以存储一个中文字符之理解字符字节以及编码集
Java中的一个char采用的是Unicode编码集,占用两个字节,而一个中文字符也是两个字节,因此Java中的char是可以表示一个中文字符的. 但是在C/C++中由于采用的字符编码集是ASCII, ...
- JAVA类加载对字节码的处理_深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)...
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 周志明的< ...
- java如何把汉字转换成机内码_java语言如何将汉字转化成五笔
java语言如何将汉字转化成五笔 [2021-01-31 08:32:59] 简介: php将汉字转ascii的方法:首先创建一个php示例文件:然后通过封装好的"public funct ...
- java qq通信,Java通信-仿QQ聊天项目
前后历时一个多月的Java实现聊天通信项目-仿QQ聊天室基本告一段落,期间面对了很多问题,也有不同的解决方案,重写了几次核心代码,等等问题.现在在项目的结束之时,给自己做一个总结,算是一个回顾,算是一 ...
- 深入理解Java虚拟机:Java类的加载机制
本篇内容包括:Java 类的加载机制(Jvm 结构组成.Java 类的加载).类的生命周期(加载-验证-准备-解析-初始化-使用-卸载).类加载器 以及 双亲委派模型. 一.Java 类的加载机制 1 ...
- Java八股文(Java基础面试题)
JDK.JRE.JVM 三者之间的关系? JDK(Java Development Kit):是Java开发工具包,是整个Java的核心,包括了Java运行环境JRE.Java工具和Java基础类库. ...
- Java 基础-01 Java语言入门
文章目录 Java 基础-01 Java语言入门 1.计算机基本概念 1.1 计算机概述 1.2 计算机组成 1.3 CPU.内存与硬盘 2.软件基本概念 2.1 软件概述 2.2 人机交互方式 2. ...
最新文章
- html转chm后脚本错误,win10系统打开chm资料弹出窗口提示脚本出现错误的恢复办法...
- 计算器用户界面与业务逻辑的分离
- 听说你想去大厂看学姐,带你看看京东软件产品经理岗长啥样?
- 又拍云递归删除目录及文件
- linux查找文件命令 要查找包含某字符
- jquery 学习之一 对象访问
- 番茄花园win11 32位官方原版镜像文件v2021.07
- MySQL数据库datetime类型不能为空值的问题
- 他不怕被拒绝_不会敬酒很吃亏,送你五个敬酒词的模版,再也不怕劝酒了
- 【UML】对象图Object diagram(转)
- Redis哨兵主从配置(半自动)
- 如何检查Android上的互联网访问? InetAddress永远不会超时
- Ant--基于java的build工具
- 类的加载器ClassLoader及其示例
- 2019强网杯upload
- [WP]第五届XMan选拔赛web
- 按键精灵可以实现c语言吗,按键精灵的原理和编写方法(1)
- SpringCloud 之 注册中心
- 怎么用计算机截图快捷键,教您怎么使用电脑自带的截图快捷键
- NVM Node版本管理工具
热门文章
- 小米新机将搭载鸿蒙,小米新機將搭載鴻蒙係統?還得等鴻蒙進一步的消息!
- cad蜂鸟工具_蜂鸟视图地图数据中台,全面提升商业地产的可视化信息管控
- 计算机组成原理_在线作业_2,计算机组成原理_在线作业_2讲述.docx
- 多媒体计算机技术论文结束语,论述多媒体计算机技术在广播电视工程中的应用成果论文...
- python删除word表格中的某一行_python docx删除word段落
- 三星s9android recovery,三星S9+刷第三方中文twrp recovery工具和教程
- 为什么整数在python中表示d_python 数据类型和变量
- npm 打包vue,错误 errno 126 / 清空node_modules目录
- 【Centos 7】【Docker】 安装 redis
- 【JavaScript】【JQuery】获取 data-* 属性值