java二进制转byte数组_Java中二进制16进制与字节数组之间的转换 | 学步园

本文介绍了Java中如何进行二进制、16进制与字节数组之间的转换。通过示例代码展示了如何使用ByteBuffer填充字节数组,以及如何实现字节数组到整形、16进制的转换。同时提到了在网络通信中固定格式的消息头和消息体的重要性。
摘要由CSDN通过智能技术生成

首先说一下ByteBuffer 这个抽象类,一般在服务器和客户端之间的通信他们之间的通信格式都是固定的,都有消息头和消息体,也就是我们常说的自定义通信协议(都是基于TCP/IP层) 每个消息头和消息体都有固定的属性(也就是比如说:消息头有20个字节,前十个字节表示消息长度,后十个字节表示消息类型,这个消息长度和消息类型就是所说的属性) 每次客户端和服务端之间的通信消息都是按照这样的固定格式互相发送。既然他们的格式个长度都是固定的,那如果长度不够怎么办?就必须补全用服务器和客户端相互理解的占位符去补全。ByteBuffer这个字节缓冲区是继承与Buffer,在填充字节数组的时候非常的方便,下面是一个小的例子:

假如:有一个输入的密码,我不知道他的字节数,但是他必须满21个字节:

/*

* 将密码填充为21个字节*/

public byte[] password(){

String passWord ="11111111111111111111";

ByteBuffer passWord_byte = ByteBuffer.allocate(21);

byte[] buf_passWord = passWord.getBytes();

ByteBuffer t = ByteBuffer.allocate(1);

if(buf_passWord.length<21)

{

passWord_byte.put(buf_passWord);

for(int i=buf_passWord.length;i<21;i++){

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值