`
jarpy
  • 浏览: 22179 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Bytes Array 转化

阅读更多

最近 作一个Cassandra 的项目,需要bytes[]和各种类型的转换,java 干了这么多年,应该是信手拈来,但是我错了,搞了半天才搞出来, 惭愧呀

	public static final byte[] bytes(String s) {
		try {
			return s.getBytes("UTF-8");
		} catch (UnsupportedEncodingException e) {
			throw new AssertionError(
					"Cannot happen because this *is* valid encoding.");
		}
	}

	/** Encode a long in big-endian order */
	public static final byte[] bytes(long n) {
		ByteBuffer buf = ByteBuffer.allocate(8);
		buf.putLong(n);
		return buf.array();
	}

	/** Encode a long in big-endian order */
	public static final byte[] bytes(int n) {
		ByteBuffer buf = ByteBuffer.allocate(4);
		buf.putInt(n);
		return buf.array();
	}

	
	public static final String bytes2String(byte[] bs) {
		try {
			return new String(bs, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			throw new AssertionError(
					"Cannot happen because this *is* valid encoding.");
		}
	}

	/** Decode a long in big-endian order */
	public static final long bytes2Long(byte[] bs){
		assert bs.length==8;
		ByteBuffer bb = ByteBuffer.wrap(bs);
		return bb.getLong();
//		ByteBuffer buf = ByteBuffer.allocate(8);
//		buf.put(bs);
//		return buf.getLong();
	}
	
	public static final int bytes2Int(byte[] bs){
		assert bs.length==4;
		ByteBuffer bb = ByteBuffer.wrap(bs);
		return bb.getInt();
	}
	
 

 

分享到:
评论

相关推荐

    delphi-string互相转化为byte数组

    在Delphi编程环境中,字符串(String)与字节数组(Byte Array)之间的转换是常见的操作,尤其是在处理二进制数据、网络通信或者文件读写时。本文将深入探讨如何在Delphi中实现这两种类型的数据互换。 1. **字符串...

    Java实现字节流与图片的转化Java实用源码整理learns.

    // Now you have the image bytes in 'imageBytes' array } } ``` 逆向操作,将字节流转换回图片文件: ```java import java.io.*; public class BytesToImageExample { public static void main(String[] ...

    JAVA作业三字节数组转化.docx

    在Java编程语言中,字节数组(byte array)和基本数据类型如int之间的转换是常见的操作,特别是在处理网络通信、文件存储或者序列化时。本篇内容将详细讲解如何在Java中进行这两种类型的转化。 首先,我们来看如何...

    Asp.net C# IP地址整形相互转化源代码

    Array.Reverse(bytes); // 反序字节 IPAddress ipAddress = new IPAddress(bytes); string ipString = ipAddress.ToString(); ``` 3. **源代码分析** 提供的源代码`IpChange.sln`是Visual Studio的解决方案...

    python字符串str和字节数组相互转化方法

    本文将深入探讨如何在Python中实现字符串(str)与字节数组(bytes)之间的相互转换,并提供多种实用的方法。 #### 一、字符串(str)转字节数组(bytes) 在Python中,字符串是一种不可变的数据类型,而字节数组则是一...

    android byte字节数组转换十六进制字符串

    在Android开发中,有时我们需要将字节数组(byte array)转换为十六进制字符串,以便于数据存储、传输或调试。这是因为字节数组是二进制数据,而十六进制字符串则是一种人类可读的表示方式。下面我们将详细讨论如何...

    WEBQQ加密算法

    在提供的描述中可以看到,该加密过程涉及到了MD5哈希函数,这是一種广泛应用的单向加密算法,它将任意长度的信息转化为固定长度的摘要,以增加破解的难度。 在C#环境中,我们可以使用内置的System.Security....

    java实现哈夫曼压缩的实例

    - 将数组`array_Bytes`中的元素(表示字节和其频率)转化为`NodeData`对象,然后放入优先队列。 - 取出队列中两个频率最低的节点,合并成一个新的节点,新节点的频率为两个旧节点的频率之和,然后将新节点放回队列...

    c#,十六进制转换成浮点数

    if(BitConverter.IsLittleEndian) Array.Reverse(bytes); // 考虑字节序 return BitConverter.ToSingle(bytes, 0); } ``` 这个函数首先验证输入字符串,然后将其转换为整数,接着转换为浮点数。注意,由于不同的...

    将numpy.ndarray格式图像转化为_io.BufferedReader格式

    str_encode = img_encode.tobytes() # 创建BytesIO对象 f4 = BytesIO(str_encode) # 设置BytesIO对象的name属性 f4.name = '....jpg' # 转换为BufferedReader f5 = BufferedReader(f4) # 使用requests.post发送图像...

    火山PC字节集操作源码.rar

    2. **字节操作函数**:源码中可能包含一系列如`read_byte()`、`write_byte()`这样的函数,用于读取或写入单个字节,以及`read_bytes(n)`、`write_bytes(bytes_array)`这样的函数,用于读取或写入连续的字节数组。...

    windows 2003 密码

    byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData)); // Convert byte array to a string StringBuilder builder = new StringBuilder(); for (int i = 0; i < bytes.Length; i++) { ...

    JSON.rar_JSON_php json_php加密_php解密

    $iv = openssl_random_pseudo_bytes($ivlen); $ciphertext = openssl_encrypt($json, $cipher, $key, $options=0, $iv); return base64_encode($iv . $ciphertext); } function decrypt_json($encrypted, $key) ...

    python-OpenCV 实现将数组转换成灰度图和彩图

    主要步骤 1.生成普通python数组(bytearray(),os.urandom()) ...# Make an array of 120000 random bytes randomByteArray = bytearray(os.urandom(120000)) # translate into numpy array flatNumpyAr

    python模块

    * array: array代表数组,类似与list,与list不同的是只能存储相同类型的对象。 * bisect: bisect是一个有序的list,其中内部使用二分法(bitsection)来实现大部分操作。 * collections:collections模块包含了...

    num2arr.zip_16进制_matlab 二进制

    标题中的"num2arr.zip_16进制_matlab 二进制"表明这是一个与MATLAB相关的项目,涉及16进制和二进制数据...通过学习这个脚本,你可以深入理解MATLAB处理二进制和16进制数据的方法,以及如何将这些数据转化为可视化输出。

    JavaScript+Java实现HTML页面转为PDF文件保存的方法-.docx

    var ia = new Uint8Array(ab); for (var i = 0; i < bytes.length; i++) { ia[i] = bytes.charCodeAt(i); } return new Blob([ab], {type : 'image/png'}); } ``` 这里需要注意的是,对于不支持Blob和FormData...

    JAVA与IOS加解密

    let keyData = Data(bytes: Array(repeating: 0x00, count: 32)) let message = "This is a secret message".data(using: .utf8)! let encrypted = try! AES.GCM.seal(message, using: keyData).combined ``` 三、...

    aes.rar_aes_vhdl_the code

    在VHDL(VHSIC Hardware Description Language)中实现AES,可以将加密过程转化为硬件逻辑,使得加密和解密操作能在微秒级别内完成,这对于嵌入式系统和实时安全应用至关重要。 在给定的“aes.rar”压缩包中,包含...

Global site tag (gtag.js) - Google Analytics