java netty bytebuf 操作 字节流操作 各种转化

这篇博客详细介绍了在Java Netty框架下,如何进行String、byte[]、ByteBuffer与ByteBuf之间的各种转换操作。包括String转byte[]、String转ByteBuffer、String转ByteBuf、byte[]转String、byte[]转ByteBuffer、ByteBuffer转byte[]、ByteBuffer转String以及ByteBuf转String和ByteBuf转byte[]等步骤和方法。
部署运行你感兴趣的模型镜像

各种转换

--------01 string 转换到其他

string --> byte[]


            String message="天气冷,吃火锅";
            byte[] content = message.getBytes(CharsetUtil.UTF_8);
            int length = content.length;

    //step2  新建一个 byteByffer 将文字赛道byteBuffer里面
            String strInput="strInput ttttt";
            ByteBuffer byteBuffer = ByteBuffer.allocate(1024);
            byteBuffer.put(strInput.getBytes());

string --> byteBuffer

string --> byte[] --> byteBuffer

String msg = "str";
 ByteBuffer buffer = ByteBuffer.wrap(msg.getBytes());

string --> byteBuf

Unpooled.copiedBuffer(" step05  hello, 客户端 ~  今天任总被判刑了,我略有心酸... ",CharsetUtil.UTF_8)

--------02 byte[] 转换到其他

byte[] --> String

ByteBuffer byteBuffer = ByteBuffer.allocate((int)file.length());
channel.read(byteBuffer);
System.out.println(new String(byteBuffer.array()));

-----
//将buffer转换成字符串
 byte[] bytes=
 ......
 String s = new String(bytes, CharsetUtil.UTF_8);

byte[] --> byteBuffer

String msg = "str";
ByteBuffer buffer = ByteBuffer.wrap(msg.getBytes());

--------03 byteBuffer 到其他

byteBuffer --> byte[]

ByteBuffer byteBuffer = ByteBuffer.allocate((int)file.length());
 channel.read(byteBuffer);
System.out.println(new String(byteBuffer.array()));

byteBuffer --> String

ByteBuffer byteBuffer = ByteBuffer.allocate((int)file.length());
 channel.read(byteBuffer);
System.out.println(new String(byteBuffer.array()));

--------04 byteBuf 到其他

byteBuf --> String

Object msg = “YYY”
 //将 msg 转换为 byteBuf   //此 ByteBuf 是 netty 提供的
ByteBuf buf=(ByteBuf)msg;
 System.out.println(" 客户端发送消息是: " + buf.toString(CharsetUtil.UTF_8));
 

byteBuf --> byte[]


@Override
protected void channelRead0(ChannelHandlerContext ctx, ByteBuf msg) throws Exception {
     byte[] bytes=new byte[msg.readableBytes()];
     msg.readBytes(bytes);
}

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值