Java中单字节Ascii的byte字节数组与String转换

这个东西讲起来很蹩脚.Java应用程序一般来讲在上层界面中都是使用String来描述字符串.String其实是一个双字节的数组.在java中,char是2个字节的字符,也就是说String是char的数组.但其内部的关系一般人也没有必要去研究.两个字节的字符对于经常做底层开发的人是比较讨厌的事情.底层开发一般都使用单字节的ascii码字符.在数据传输时将单字节的字符按照byte的方式进行传输.

   这样一来,上层的String要变成下层的byte数组就比较麻烦了.下面是我的实现方法,难到不难,只是写程序时纠结于这种小事上的确不划算,不如copy过去直接使用爽快一些:

    1. byte[]转换成 String:

     本例中将

     String nRcvString;

      StringBuffer tStringBuf=new StringBuffer ();

     byte[]tBytes=new byte[]{0x31,0x32,0x33};  //实际上是ascii码字符串"123"
      char[]tChars=new char[tRecvCount];
     
     for(inti=0;i<tRecvCount;i++)
      tChars[i]=(char)tBytes[i];
     
     tStringBuf.append(tChars);     
     nRcvString=tStringBuf.toString();         //nRcvString从tBytes转成了String类型的"123"

 

    2.将String 转成 单字节的byte[]

       nSndString实际上是双字节的字符串,经过转换,变成了单字节的字节数组.

       String nSndString="123456";

       byte[] tBytes=nSndString.getBytes("US-ASCII");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值