导航:首页 > 编程语言 > bytesstringjava

bytesstringjava

发布时间:2022-09-02 16:30:12

‘壹’ java中如何让byte[]与string类型转换后,保持不变

String.getBytes()是取决于本地缺省编码的,两边不一样就抓瞎了。你这种情况其实是要传byte[],这样硬生生转成String总觉得太危险,一般的做法是弄成比如Base64这样的7bits编码。现成的有sun.misc.BASE64Encoder和sun.misc.BASE64Decoder。

‘贰’ java 怎么把一个byte转换成字符串

String str=new String(byte);
或者
String str=new String(byte,"字符集");
字符集一般有UTF-8、GBK等

‘叁’ java 中怎么将 byte 转换为 string

byteb=65;
System.out.println(Byte.toString(b));
System.out.println(b+"");
System.out.println(newString(newbyte[]{b}));

‘肆’ java里面byte数组和String字符串怎么转换

Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:

String str = "hello";
byte[] srtbyte = null;
try {
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
} catch (UnsupportedEncodingException e) {//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}

‘伍’ java编程 拿到一个byte[],怎样转成 转String字符串

给你举个例子:
可以用这个方法:
public class ByteArrayDemo
{
public static void main(String[] args){
byte[] byArray=new byte[]{1,2,3,4,5};
String str1="";
for (byte element: byArray )
{
str1+=element;
}
System.out.println(str1);
}
}
如果数组里的数很多,用上面的方法会产生很多垃圾对象,执行效率低,可以用下面的方法,提高效率:
public class ByteArrayDemo
{
public static void main(String[] args){
byte[] byArray=new byte[]{1,2,3,4,5};
String str1="";
StringBuilder sb=new StringBuilder(str1);
for (byte element: byArray )
{
sb.append(String.valueOf(element));
}
str1=sb.toString();
System.out.println(str1);
}
}

‘陆’ java中byte数组怎么转换成string类型

可以用String的构造方法String(byte[] bytes,int offset,int length),或者普通的构造方法String(byte[] bytes),用法如下:

publicclassByteArrayToString{

publicstaticvoidmain(String[]args){
byte[]bytes=newbyte[]{'a','b','c','d','e','f','g'};

byteArrayToString(bytes,null);//输出abcdefg
byteArrayToString(bytes,"2");//输出cdefg
}

(byte[]bytes,Stringoffset){

Stringstr="";
if(offset!=null){
str=newString(bytes,Integer.parseInt(offset),5);//这个方法可以精确的截取字符串
}else{
str=newString(bytes);//普通的字符串构造方法
}
System.out.println(str);
returnstr;
}

}

‘柒’ java中怎么将byte转成string

是字节数组转 String
还是单纯把byte 转为 String
byte[] 转 String,可以使用 String 的构造器:
String s = new String(bytes);
String s = new String(bytes,"UTF-8");

‘捌’ java String(byte[] bytes, Charset charset)这个方法怎么用写个小例子

这个方法是把字节数组转为字符串用的,第一个参数是字节数组,第二个参数是字符编码。
比如:
byte[] bytes = new byte[1024];
new String(bytes,"UTF-8");
意思是把bytes数字按"UTF-8"的编码方式转成字符串。

‘玖’ Java byte[]和String转换问题

File file = new File("XXX\\XXX\\XXX.dat");
InputStream input = new FileInputStream(file);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int ind = 0;
while((ind=input.read(b, 0, b.length))!=-1){
bytes.write(b, 0, ind);
}

byte[] result = bytes.toByteArray();
String str = new String(result);
System.out.println(str);

有这段代码试试吧

‘拾’ 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" );
这样所需要的字节就有恢复了。

阅读全文

与bytesstringjava相关的资料

热点内容
命令与征服大神宫 浏览:207
php发送短信验证码 浏览:505
前端服务器如何接收http请求 浏览:796
程序员资质查询 浏览:357
程序员被别人开除怎么办 浏览:888
解压视频看一下 浏览:129
android仿知乎日报 浏览:335
为什么前端比安卓手机需求大 浏览:855
命令行执行关机命令 浏览:52
在学校心情不好怎么解压 浏览:116
我的世界基岩版服务器怎么读取 浏览:161
快件命令 浏览:853
阿里云06折服务器能用吗 浏览:421
h5个人中心源码 浏览:221
下三角矩阵的压缩存储 浏览:922
招人用什么app好用 浏览:722
飞行控制源码 浏览:185
androidhdmi开发 浏览:689
向程序员致敬作文 浏览:157
linuxphpconfig 浏览:348