`

int与byte转换,String(01)与byte转换

    博客分类:
  • Java
 
阅读更多
	
public byte[] int2byte(int data){
		byte b4 = (byte)((data)>>24); 
		byte b3 = (byte)(((data)<<8)>>24); 
		byte b2= (byte)(((data)<<16)>>24); 
		byte b1 = (byte)(((data)<<24)>>24);  
		byte[] bytes = {b1,b2,b3,b4};
		
		return bytes; 
	}
	
	public int byte2int(byte b[]) {
		int b3 = b[3] & 0xff;
		int b2 = b[2] & 0xff; 
		int b1 = b[1] & 0xff;
		int b0 = b[0] & 0xff;
		int i = b3 << 24 | b2 << 16 | b1 << 8 | b0;
		return i;
	}

 

8个0或1组成的String与byte转换思路:

暂时想到的是String每个元素变为char,char-48变成byte,8个byte位移变成byte

下面是8个byte(0或1)位移变为1个byte的方法:

/**
	 * 8个0或1的int转换为byte
	 * 
	 * @return 8个0与1拼成的一个byte
	 */
	public byte arr2byte(byte arr[]) {
		byte b = 0;
		for (int i = 0; i < arr.length; i++) {
			b |= (byte) (arr[i] << 7 - i);
		}
		return b;
	}

 

将byte转为01串也是类似的,依次取出byte的第1到8为拼成串。

public String byte2String(byte b) {
		String s = "";
		for (int i = 0; i < 8; i++) {
			byte temp = (byte) ((byte) (b >> 7 - i) & 1);
			s += temp;
		}
		return s;
	}

引用 人生难得糊涂的话解释为什么&1(纠结了一下午)

比如说2 的二进制是00000010  

右移7位是00000000   结果为 0 是第八位
右移6位是00000000   结果为 0 是第7位
。。。。
右移1位是 00000001  结果为1  是第2位
右移0位是 00000010   我们要的结果是最后一个0 但是现在他的值是2 那怎么取到最后一个0呢  只要&一个1 就可以了
1
1
分享到:
评论

相关推荐

    String(含Hex)与Byte数组互相转换[代码]

    在Java或类似的编程语言中,我们经常会遇到需要将字符串(String)与字节数组(Byte[])以及十六进制表示的字符串(Hex)进行相互转换的情况。这些转换在处理网络通信、文件存储、加密解密等领域尤为关键。下面我们...

    andriod byte 转int,string,数组,互转

    byte转化工具类,可以实现byte转int,数组,string,小端取高位,低位等

    Cstring 与BYTE类型之间转换

    ### Cstring 与 BYTE 类型之间转换 在计算机编程领域,数据类型的转换是十分常见的操作。尤其是在处理网络通信、文件读写等场景时,经常需要将字符串类型(如`CString`)与字节类型(如`BYTE`)进行相互转换。这种...

    C#_string_byte数组转换解析

    在C#编程语言中,字符串(string)与字节数组(byte array)之间的转换是常见的操作,尤其在处理二进制数据、网络传输或文件读写时。本篇文章将详细解析C#中如何进行这两种数据类型的转换,并讨论转换过程中需要注意...

    S7-1200中将BYTE类型数据转换成char类型数据的具体方法.docx

    例如,如果BYTE[1]的值为16#01,我们要将其转换成对应的ASCII字符。这里要注意,直接赋值16#01并不会得到预期的'01',因为这并不是ASCII码表中的值。 Char_TO_Strg指令是TIA博途中用于将char类型数据转换成STRING的...

    VC (CString,char,int,long,string,byte...)名种类形间的转换

    本文将详细介绍VC中不同数据类型之间转换的方法,特别是`CString`与`char`、`int`、`long`、`string`和`byte`等类型的相互转换。 #### `int`到`CString`的转换 当需要将整型变量转换为`CString`时,可以使用`...

    java中String_十六进制String_byte[]之间相互转换

    ### Java中String、十六进制String与byte[]之间的相互转换 在Java开发中,字符串(String)、十六进制表示的字符串以及字节数组(byte[])之间的转换是非常常见的需求,尤其是在处理网络通信、文件读写等场景下。...

    java byte数组与int,long,short,byte的转换实现方法

    本文将详细介绍如何在Java中将`byte`数组与其他基本数据类型(如`int`、`long`、`short`、`byte`)之间进行转换。 首先,我们来看`byte`到`int`的转换。Java中的`byte`类型是8位的,取值范围是-128到127。如果要将...

    C# string byte数组转换解析.pdf

    在C#编程中,字符串(string)与字节(byte[])之间的转换是常见的操作,特别是在处理网络传输、文件存储或数据解析时。本文将详细讲解C#中如何进行这两种类型之间的转换,并提供一些实用的方法。 首先,我们来看如何将...

    基于java中byte数组与int类型的转换(两种方法)

    在Java编程中,将`int`类型转换为`byte`数组以及从`byte`数组还原回`int`类型是常见的操作,特别是在网络编程中。这是因为网络传输的数据通常以字节流的形式存在,而`int`等基本数据类型需要进行适当的序列化才能...

    byte与各类型之间的转化

    尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...

    C#byte[]与汉字、16进制字符的转换[文].pdf

    C#中Byte数组与汉字、十六进制字符的转换 在C#中,字符串和Byte数组之间的转换是非常常见的操作。特别是在网络传输和数据存储时,我们需要将字符串转换为Byte数组,以便进行传输和存储。但是,当我们需要处理汉字和...

    C# string byte数组转换解析.docx

    在C#编程语言中,字符串(string)与字节数组(byte[])之间的转换是常见的操作,特别是在处理网络通信、文件读写或数据编码解码等场景。本篇文章将详细探讨C#中如何实现这两种类型之间的转换,并提供实用的代码示例...

    C# DLL byte数据转换,用于PLC读取Byte数据类型转换,直接调用dll输入函数名称有注释,就可以使用,小创作

    public string BytesToString(byte[] bytes, int startindex, int Countindex)读取设定长度字符串 public byte BoolToByte(bool[] bools) 位转byte public byte[] IntToBytes(Int32 m) 整数转byte public byte[] ...

    C#byte数组结构体互相转换示例.zip

    在C#编程中,结构体(Struct)与字节数组(Byte Array)之间的转换是一项常见的操作,特别是在处理网络通信、序列化或低级数据处理时。本示例提供了便捷的方法来实现这种转换,帮助开发者解决相关的技术难题。 首先...

    转换Image数据为byte数组

    public static byte[] imageToBytes(Image image, String format) { BufferedImage bImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); Graphics bg = ...

    java String 与各种进制字符之间的转换

    在Java编程语言中,String类是处理文本字符串的核心类,而与各种进制字符之间的转换是常见的编程需求。本文将详细探讨Java中如何进行String与二进制、八进制、十进制以及十六进制之间的转换。 首先,我们要了解进制...

    MD5加密与byte数组与16进制相互转换

    包含MD5加密,同时拥有多种方式进行byte或者byte[]与16进制相互转换 三种方式: 方式一:Integer.toHexString(int) 对应的是: Integer.parseInt(String, int)或者Integer.valueOf(String, int) 方式二:位运算(& ...

    学习文档_JAVA中Integer和Byte转换.doc

    在Java编程语言中,Integer和Byte之间的转换是常见的操作,特别是在处理二进制数据或网络通信时。本文档主要探讨了如何在Java中实现这两种数据类型的转换,包括有符号和无符号的转换。 首先,Integer在Java中占用4...

Global site tag (gtag.js) - Google Analytics