日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2024/9/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java存储字节,java 数目字转化成字节存储算法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

java 數(shù)字轉(zhuǎn)化成字節(jié)存儲(chǔ)算法

package com;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

public class TestByte {

/**

* ip轉(zhuǎn)化成4個(gè)字節(jié)進(jìn)行存儲(chǔ),然后再把四個(gè)字節(jié)轉(zhuǎn)換成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 轉(zhuǎn)byte之后 操作127的數(shù)字將全部變成負(fù)數(shù)形式,如果想轉(zhuǎn)成原來的 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位字節(jié) -> long

* 主要是做了一個(gè)數(shù)據(jù)壓縮算法

* 比如說一個(gè)ip可以直接存儲(chǔ)成4個(gè)字節(jié)

*/

public static void numToBinaryString()

{

//源數(shù)字

long num = 98786657;

//轉(zhuǎn)化成二進(jìn)制串

String binary = Long.toBinaryString(num);

System.out.println(binary);

int length = 32-binary.length();

//補(bǔ)充到32位

for(int i=0;i

{

binary = '0'+binary;

}

System.out.println(binary);

System.out.println(binary.length());

//分割成四個(gè)字節(jié) (一個(gè)字節(jié)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位轉(zhuǎn)化成一個(gè)字節(jié)

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);

//把字節(jié)轉(zhuǎn)化成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();

}

/**

* 把字節(jié)寫入文件,看看是啥效果

* @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的字符串形式得到字節(jié)數(shù)組形式

*

* @param ip

* 字符串形式的ip

* @return 字節(jié)數(shù)組形式的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;

}

總結(jié)

以上是生活随笔為你收集整理的java存储字节,java 数目字转化成字节存储算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。