string转bytejava
❶ java中String类型的如何转为byte[]
一、String转byte数组简单版:
1、String str = "abcd";
2、byte[] bs = str.getBytes();
二、复杂版
// pros - no need to handle UnsupportedEncodingException // pros - bytes in specified
encoding scheme byte[] utf8 = "abcdefgh".getBytes(StandardCharsets.UTF_8);
System.out.println("length of byte array in UTF-8 : " + utf8.length);
System.out.println("contents of byte array in UTF-8: " + Arrays.toString(utf8));
Output : length of byte array in UTF-8 : 8 contents of byte array in UTF-8: [97, 98, 99, 100, 101, 102, 103, 104]1
(1)string转bytejava扩展阅读:
反过来,将Byte数组转化为String的方法
using System;
using System.Text;
public static string FromASCIIByteArray(byte[] characters)
{
ASCIIEncoding encoding = new ASCIIEncoding( );
string constructedString = encoding.GetString(characters);
return (constructedString);
}
·
❷ java String Byte 转换的问题
java的char用的ucs-2的编码,
需要16bit的存储空间
byte[]形式的任何字符编码,每个字符都会转换成16bit。
除非这个byte[]里面存储的是ucs-2或者utf-16be编码,不经转换能直接使用byte[]的几率和场合都不大。
如果数据大,就一次少读一点文本,比如几行几kb,然后用一个stringbuffer拼接起来。。
其余的碎数据能随时被垃圾回收。。
❸ string 怎么转换成byte 数组 java
publicstaticvoidmain(String[]args){
Stringstr="您的回答被采纳后将获得系统奖励";
byte[]b=getBytes(str);
if(b!=null){
//......
}
}
publicbyte[]getBytes(Stringstr){
if(StringUtils.isNotBlank(str)){
try{
returnstr.trim().getBytes("UTF-8");
}catch(){
Logger.getLogger(Test.class.getName()).log(Level.SEVERE,null,ex);
}
}
returnnull;
}
❹ java里面byte数组和String字符串怎么转换
byte数组转换成String可以调用String的参数为byte数组的构造方法,代码如下:String res = new String(byte);
String转换成byte数组可以调用String的getByte方法,代码如下:byte[] srtbyte = str.getBytes();
❺ java里面byte数组和String字符串怎么转换
java里面byte数组和String字符串转换有两种方法:
1、不设定编码方式
<prename="code"class="java">Stringstr="Hello";
byte[]srtbyte=str.getBytes();//string转byte[]
//s
Stringres=newString(srtbyte);//byte[]转string
2、设定编码方式
Stringstr="hello";
byte[]srtbyte=null;
try{
srtbyte=str.getBytes("UTF-8");//string转byte[]
Stringres=newString(srtbyte,"UTF-8");//byte[]转string
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
❻ java 怎么将string转换成byte
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
String s = "fs123fdsa";//String变量
byte b[] = s.getBytes();//String转换为byte[]
String t = new String(b);//bytep[]转换为String
❽ java中怎么将一个string类型的变量转换成一个byte[]类型
将定义byte和赋值写一起,byte[] a=aString.getBytes("UTF8");
//为UTF8编码
byte[] b= aString.getBytes("ISO-8859-1");
❾ Java中,String类型怎么转换成byte类型输出
程序如下:
String s = "fs123fdsa";//“fs123fdsa”是输入的string变量
byte b[] = s.getBytes();//String转换为byte[]
String t = new String(b);//bytep[]转换为String
❿ java怎么将string转换成byte数组
思路:先定义字符串,再通过getBytes()方法进行转换数组就可以了。
参考代码:
Strings="ZhiDao";//定义字符串
byte[]sb=s.getBytes();//把字符串转换成数组
String的getBytes()方法是得到一个系统默认的编码格式的字节数组。将一个String类型的字符串中包含的字符转换成byte类型并且存入一个byte[]数组中。