InetAddress与String类型的转换,byte[]型与String型转换,编码解码

1、InetAddress与String类型的转换

先定义变量:

InetAddress addr;

String ip;

InetAddress型转换为String型:ip=addr.toString();

String型转换为InetAddress型:addr=InetAddress.getByName(ip);

 

2、byte[]型与String型转换

先定义变量:

byte[] buf=new byte[1024];

String s;

byte[]型转换为String型:buf=s.getbytes("gb2312");

String型转换为byte[]型:s=new String(buf,"gb2312").trim();   //采用trim()方法是为了去除byte[]中的空格,gb2312是为了解码和编码保持一致

3、关于编码解码一致问题

      网络上传递的都是二进制码也就是byte类型,要从byte类型到string就需要有相应的编码和解码过程。也就是相当于 ASCII 存储A的过程(存储(编码):A对应的编码65二进制存储是0x41。读取(解码):读0x41知道要转成ASCII 0x41对应字符为A)。
     对于getBytes使用的编码是从gb2312(简体中文操作体统)到byte 在getBytes方法还有一个重载可以指定编码方式的 。若是在byte[]型转换为String型的过程中没有指定解码方式将会出现乱码。注意解码和编码过程应该使用同样编码在这里都使用了gb2312才不会乱码。


   

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值