java 字节码 byte
来源:互联网 发布:网络暴力800字议论文 编辑:程序博客网 时间:2024/05/09 02:29
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" );
这样所需要的字节就有恢复了。
0 0
- java 字节码 byte
- java byte 字节负数
- c# 字节码byte
- java byte 字节转short
- java源文件编译后产生byte code (字节码)
- char字节数、char与byte、byte数组合并 Java
- Java bit、byte、位、字节、汉字、字符
- Java中byte[]比较----字节数组比较
- Java bit、byte、位、字节、汉字、字符
- byte 字节
- 图片转换为字节码byte
- 可变字节码Variable Byte Code
- Java| Java中字节Byte和位Bit的关系
- java apache mina 2.0 发送和接收 字节数组 byte[]
- byte字节流如何生成gif格式图片 java
- java把一个文件转化为byte字节
- Java把一个文件转化为byte字节
- 求java编程 字节byte怎么转换成整形int?
- Cassandra学习笔记之数据模型
- freemarker 输出html
- J2EE的开发环境配置
- A段架构设计_隽语集(IT+設計思考_1601)
- Operators库/Barton-Nackmann 技巧
- java 字节码 byte
- 南阳 263 精挑细选
- cocos2d-x SpaceFighting类似打飞机游戏小项目
- java操作ini文件奇思妙想
- C#中精确计时的一点收获
- c# 字节码byte
- 【IDE探究】VS2010中的调试技巧
- Camera服务之--Client
- A段架构设计_隽语集(IT+設計思考_1701)