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 就可以了
右移6位是00000000 结果为 0 是第7位
。。。。
右移1位是 00000001 结果为1 是第2位
右移0位是 00000010 我们要的结果是最后一个0 但是现在他的值是2 那怎么取到最后一个0呢 只要&一个1 就可以了
相关推荐
在Java或类似的编程语言中,我们经常会遇到需要将字符串(String)与字节数组(Byte[])以及十六进制表示的字符串(Hex)进行相互转换的情况。这些转换在处理网络通信、文件存储、加密解密等领域尤为关键。下面我们...
byte转化工具类,可以实现byte转int,数组,string,小端取高位,低位等
### Cstring 与 BYTE 类型之间转换 在计算机编程领域,数据类型的转换是十分常见的操作。尤其是在处理网络通信、文件读写等场景时,经常需要将字符串类型(如`CString`)与字节类型(如`BYTE`)进行相互转换。这种...
在C#编程语言中,字符串(string)与字节数组(byte array)之间的转换是常见的操作,尤其在处理二进制数据、网络传输或文件读写时。本篇文章将详细解析C#中如何进行这两种数据类型的转换,并讨论转换过程中需要注意...
例如,如果BYTE[1]的值为16#01,我们要将其转换成对应的ASCII字符。这里要注意,直接赋值16#01并不会得到预期的'01',因为这并不是ASCII码表中的值。 Char_TO_Strg指令是TIA博途中用于将char类型数据转换成STRING的...
本文将详细介绍VC中不同数据类型之间转换的方法,特别是`CString`与`char`、`int`、`long`、`string`和`byte`等类型的相互转换。 #### `int`到`CString`的转换 当需要将整型变量转换为`CString`时,可以使用`...
### Java中String、十六进制String与byte[]之间的相互转换 在Java开发中,字符串(String)、十六进制表示的字符串以及字节数组(byte[])之间的转换是非常常见的需求,尤其是在处理网络通信、文件读写等场景下。...
本文将详细介绍如何在Java中将`byte`数组与其他基本数据类型(如`int`、`long`、`short`、`byte`)之间进行转换。 首先,我们来看`byte`到`int`的转换。Java中的`byte`类型是8位的,取值范围是-128到127。如果要将...
在C#编程中,字符串(string)与字节(byte[])之间的转换是常见的操作,特别是在处理网络传输、文件存储或数据解析时。本文将详细讲解C#中如何进行这两种类型之间的转换,并提供一些实用的方法。 首先,我们来看如何将...
在Java编程中,将`int`类型转换为`byte`数组以及从`byte`数组还原回`int`类型是常见的操作,特别是在网络编程中。这是因为网络传输的数据通常以字节流的形式存在,而`int`等基本数据类型需要进行适当的序列化才能...
尤其在处理二进制数据时,byte类型与其他数据类型(如String、boolean、int、InputStream等)之间的转换尤为重要。本文档旨在详细介绍byte与各种常见类型之间的转换方法,帮助开发者更好地理解和掌握这一技能。 ###...
C#中Byte数组与汉字、十六进制字符的转换 在C#中,字符串和Byte数组之间的转换是非常常见的操作。特别是在网络传输和数据存储时,我们需要将字符串转换为Byte数组,以便进行传输和存储。但是,当我们需要处理汉字和...
在C#编程语言中,字符串(string)与字节数组(byte[])之间的转换是常见的操作,特别是在处理网络通信、文件读写或数据编码解码等场景。本篇文章将详细探讨C#中如何实现这两种类型之间的转换,并提供实用的代码示例...
public string BytesToString(byte[] bytes, int startindex, int Countindex)读取设定长度字符串 public byte BoolToByte(bool[] bools) 位转byte public byte[] IntToBytes(Int32 m) 整数转byte public byte[] ...
在C#编程中,结构体(Struct)与字节数组(Byte Array)之间的转换是一项常见的操作,特别是在处理网络通信、序列化或低级数据处理时。本示例提供了便捷的方法来实现这种转换,帮助开发者解决相关的技术难题。 首先...
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与二进制、八进制、十进制以及十六进制之间的转换。 首先,我们要了解进制...
包含MD5加密,同时拥有多种方式进行byte或者byte[]与16进制相互转换 三种方式: 方式一:Integer.toHexString(int) 对应的是: Integer.parseInt(String, int)或者Integer.valueOf(String, int) 方式二:位运算(& ...
在Java编程语言中,Integer和Byte之间的转换是常见的操作,特别是在处理二进制数据或网络通信时。本文档主要探讨了如何在Java中实现这两种数据类型的转换,包括有符号和无符号的转换。 首先,Integer在Java中占用4...