1.string 转 byte[]

byte[] midbytes=isoString.getBytes("UTF8");
//为UTF8编码
byte[] isoret = srt2.getBytes("ISO-8859-1");
//为ISO-8859-1编码
其中ISO-8859-1为单字节的编码
2.byte[]转string
String isoString = new String(bytes,"ISO-8859-1");
String srt2=new String(midbytes,"UTF-8");
说明:
在网络传输或其它应用中常常有同一的中间件,假设为String类型。因此需要把其它类型的数据转换为中间件的类型。
将字符串进行网络传输时,如socket,需要将其在转换为byte[]类型。这中间如果采用用不同的编码可能会出现未成预料的问题,如乱码。
下面举个例子:
我们用socket传输String类型的数据时,常常用UTF-8进行编码,这样比较可以避免一个“中文乱码”的问题。
发送端:
String sendString="发送数据";
byte[] sendBytes= sendString .getBytes("UTF8");
.......socket发送
接受端:
String recString=new String( sendBytes ,"UTF-8");
但是,这里往往又会出现这样一个问题。就是想要发送的数据本身就是byte[]类型的。
如果将其通过UTF-8编码转换为中间件String类型就会出现问题
如:
byte[] bytes = new byte[] { 50, 0, -1, 28, -24 };
String sendString=new String(  bytes ,"UTF-8");
byte[] sendBytes= sendString .getBytes("UTF8");

然后再发送
接受时进行逆向转换
String recString=new String( sendBytes ,"UTF-8");
byte[] Mybytes=isoString.getBytes("UTF8");
这时Mybytes中的数据将是[50, 0, -17, -65, -67, 28, -17, -65, -67]
因此,需要采用单字节的编码方式进行转换
String sendString=new String(bytes,"UTF-8");   改为       String sendString=new String(bytes,"ISO-8859-1" );
byte[] Mybytes=isoString.getBytes("UTF8");  改为   byte[] Mybytes=isoString.getBytes( "ISO-8859-1" );
这样所需要的字节就有恢复了。

java中string与byte[]的转换相关推荐

  1. Java中String和byte[]间的转换浅析

    Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,本文将分析总结常规的byte[]和String间的转换以及十六进制String和byte[]间相互转换的原理及实 ...

  2. Java中String与Byte之间的各种转换

    这个是很常用的,一直没整理,现在来整理下,供自己备用. 1.一个字符串,用Byte数组形式通过串口发送出去,很简单 String cmd = "xxxx"; byte[] cmdB ...

  3. java中String转byte 编码格式

    在.Net中,字符串转换byte编码格式如下: StringBuilder str = new StringBuilder(); str.Append("妙生活"); var co ...

  4. C#中string与byte[]的转换帮助类

    在写C#程序时,string和byte[]之间的转换比较烦,在移植一些老程序时感觉很不好.我在C#中使用DES和TripleDES时移植一块老代码时也遇到了同样的情况.为了下次不为同样的事情烦恼,就写 ...

  5. java object数组转实体类_详解Java中String JSONObject JSONArray List实体类转换

    JSON使用阿里的fastJson为依赖包 gradle依赖管理如下: compile group: "com.alibaba", name: "fastjson&quo ...

  6. java中的进制输出转换_java中进制的转换,Byte与16进制的转换

    java中对于进制的转换有很多方式,其中对于常见的基本的二进制 八进制 十进制 十六进制等的转换有对于的包装类实现,不需要通过二外的算法来进行实现,具体如下: 首先关于最简单的二进制转换的方法有: 十 ...

  7. java int byte数组_Java 中int与byte数组转换详解

    1.与运算符的理解(&): 参加运算的两个数据,按二进位进行"与"运算.如果两个相应的二进位都为1,则该位的结果值为1,否则为0.即 0&0=0:0&1=0 ...

  8. java中String与int/float/double/byte/数组

    原文链接:小宁博客[添加链接描述](https://www.sunxiaoning.com/language/634.html) int转换为String(int i=100) 第一种方法:s=i+& ...

  9. c#中如何将byte数组转换成string从而在textbox中显示出来?

    c# string和byte[]的转换(2008-07-16 16:48:26)标签:c string byte[] it   分类:小鱼的工作 正好用到,总结一下: 1. byte[] byteAr ...

最新文章

  1. linux poll in,Linux poll机制详细讲解
  2. 关于配置Bhuman通用平台环境心得
  3. 复制模式和扩展模式_扩展剂:模式还是反模式?
  4. openssl c++实现bouncycastle中AES加解密
  5. HTML5 兼容IE浏览器
  6. Android与Asp.Net Web服务器的文件上传下载BUG汇总[更新]
  7. python是面向对象还是面向过程的语言_关于python是面向对象还是面向过程的分析...
  8. 阶乘末尾 0 的个数
  9. JAVA中public protected default private访问权限
  10. Linux关闭桌面进程,Centos进入桌面和退出桌面的方法
  11. Thinkphp6 think-queue redis 执行异步任务
  12. 第三阶段应用层——1.8 数码相册—在LCD上显示JPG图片
  13. 去除桌面图标蓝底的方法
  14. cf 487E/uoj 30 Tourists
  15. (result, consumed) = self._buffer_decode(data, self.errors, final)
  16. Asp 操作Access数据库时出现死锁.ldb的解决方法
  17. ASP.NET建筑工程管理系统
  18. EasyRecovery最新版本Photo16电脑数据恢复软件下载
  19. 基于Web的电子商务解决方案(1)(转)
  20. iperf详细使用图文教程

热门文章

  1. 如何开启匿名访问SharePoint 2010里的Client Object Model
  2. Leetcode PHP题解--D54 937. Reorder Log Files
  3. 合肥云暨移动应用孵化基地全面运营,服务企业转型升级
  4. poj——2771 Guardian of Decency
  5. mv命令(移动和重命名)
  6. 在Hive中执行DDL之类的SQL语句时遇到的一个问题
  7. mac os 10.14.5 update failure
  8. Glass Dragon
  9. 释放内存触发断点及数组、指针的NULL初始化
  10. [CF522D]Closest Equals