欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java byte num =1 3_java中把byte[]{1,2,3}通过怎样的转换,可以让其最终在TextView中显示为123...

发布时间:2024/7/23 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java byte num =1 3_java中把byte[]{1,2,3}通过怎样的转换,可以让其最终在TextView中显示为123... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

展开全部

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");

说明:

在网络传输或其它应用中常常有e68a84e8a2ad3231313335323631343130323136353331333363383464同一的中间件,假设为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 byte num =1 3_java中把byte[]{1,2,3}通过怎样的转换,可以让其最终在TextView中显示为123...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。