我有以下代码来压缩和解压缩字符串:
public static void main(String[] args) {
// TODO code application logic here
String Source = "hello world";
byte[] a = ZIP(Source);
System.out.format("answer:");
System.out.format(a.toString());
System.out.format("\n");
byte[] Source2 = a.toString().getBytes();
System.out.println("\nsource 2:" + Source2.toString() + "\n");
String b = unZIP(Source2);
System.out.println("\nunzip answer:");
System.out.format(b);
System.out.format("\n");
}
public static byte[] ZIP(String source) {
ByteArrayOutputStream bos= new ByteArrayOutputStream(source.length()* 4);
try {
GZIPOutputStream outZip= new GZIPOutputStream(bos);
outZip.write(source.getBytes());
outZip.flush();
outZip.close();
} catch (Exception Ex) {
}
return bos.toByteArray();
}
public static String unZIP(byte[] Source) {
ByteArrayInputStream bins= new ByteArrayInputStream(Source);
byte[] buf= new byte[2048];
StringBuffer rString= new StringBuffer("");
int len;
try {
GZIPInputStream zipit= new GZIPInputStream(bins);
while ((len = zipit.read(buf)) > 0) {
rString.append(new String(buf).substring(0, len));
}
return rString.toString();
} catch (Exception Ex) {
return "";
}
}
当“hello world”被压缩后,它将变成[b@7bdecdec,在byte[]中转换成字符串并显示在屏幕上。但是,如果我试图用下面的代码将字符串转换回byte[]:
byte[] Source2 = a.toString().getBytes();
变量a的值将变为[b@60a1807c,而不是[b@7bdecdec。有没有人知道在Java中如何将字符串(一个byte的值,但已转换为字符串)转换回byte[]?
为什么byte[]Source2=a.toString().getBytes();
?
这似乎是一个双重转换;将字节[]
转换为字符串
转换为字节[]
byte[]
到字符串的真正转换是new string(byte[])
希望您在同一个字符集中。
问题内容: 我正在尝试在C#字符串变量或字符串数组中获取SQL结果。是否有可能?我是否需要以某种方式使用SqlDataReader?对于C#函数和所有函数,我都是新手,曾经在PHP中工作,所以请给出一个可行的示例(如果相关,我已经可以连接并访问数据库,进行插入和选择。。我只是不知道如何将结果存储在字符串变量中)。 问题答案: 这不是历史上最伟大的例子,就像您没有从数据库返回任何行一样,您最终都
我正在尝试将String转换为对象,但java不允许。
问题内容: 有没有办法将a 变成a 或将一个字母变成a (例如如何将a 变成a 和a 变成an )?(如果可以,请链接到相关文档)。 我该如何找到在文档中才隐约知道的类似内容? 问题答案: 您可以通过确定可能涉及的类来查找文档。在这里,候选人是和。 您应该先熟悉以下内容: 原始包装 中的Java Collection框架 它还有助于通过教程更慢地介绍API。 处理字符串中的字符
问题内容: 我想问一个关于Java的问题。我已经使用Java中的URLConnection来检索DataInputStream。我想将DataInputStream转换为Java中的String变量。我该怎么办?谁能帮我。谢谢。 以下是我的代码: 问题答案: 这就是你想要的。
如果我有一个带有两个值的变量(例如Sex可以取男性或女性),我会使用如下代码:, 将字符串转换为整数。如果变量包含两个以上的值,如分类为低/中/高的工资,该怎么做?如何分配与上述类似的值?
问题内容: 如何在Java中将值解析为类型? 我知道如何做int和double(例如)。字符串和字符有类吗? 问题答案: 如果您的字符串仅包含一个字符,则将其转换为字符的最简单方法可能是调用该方法: