问个简单问题,下班结贴

大_爱 2011-03-08 04:41:30
byte[] --> 字符串。
如:"text" --> byte[] --> "text";
现在我如何将byte数组中的数据还原成原来的字符串。谢谢。有满意答案果断结贴。!!
...全文
291 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
gahyyai 2011-03-09
  • 打赏
  • 举报
回复
直接用new String(by[],code); 不过要先知道这个字节数组是什么编码的吧
跟着Mic学架构 2011-03-08
  • 打赏
  • 举报
回复
直接用new String(by[],code); 不过要先知道这个字节数组是什么编码的吧
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
看样子还是不行吗?
大_爱 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 ilrxx 的回复:]

意思就是你在将文件中的数据保存到inputstream中后,不要在去一个个字节去读到byte数组中了,让base64去做这个工作最后直接输出string
[/Quote]

恩,好的,我去试试。看来今天是又要加班了!郁闷的很呀!
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
意思就是你在将文件中的数据保存到inputstream中后,不要在去一个个字节去读到byte数组中了,让base64去做这个工作最后直接输出string
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
decoder.decodeBuffer这个方法可以直接传inputstream
大_爱 2011-03-08
  • 打赏
  • 举报
回复
人还在么????
大_爱 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ilrxx 的回复:]

明白了,直接用base64做吧,这样肯定没问题了
Java code

public static String StrToBase64(String s)
throws UnsupportedEncodingException {
if (s == null)
return null;
return (……
[/Quote]
可是我加密后的东西都是byte[]数组呀,如果转成其他的,我从文件中读出来又是一个麻烦事。
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
呵呵,其实有些时候为了实现某些功能想尽了一切办法,最后勉强搞定,发现方法写的已经很不清晰了,往往换一种思路可能会清晰一些
大_爱 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 ilrxx 的回复:]

你用过io吗?你是觉得不能从文件里面直接读出字符串吗?不会用字符流吗?
lz的方式改变下,加密过程相当于直接用base64 encode,写到文件中,然后字符流读出的时候再做decode
[/Quote]
呵呵,说我也没啥关系。现在淡定多了。做不来很正常的。其实我计算机功底不是很好,所以才问点这种问题。加密的东西原来用的比较少,所以也没怎么研究。。
大_爱 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 ol_beta 的回复:]

用过io么?字节流读的东西也是放在字节数组中的啊。
[/Quote]
呵呵,用的是IO,有的东西必须要用字节流的。
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
lz不是说你啊,是回你上面一层的
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
你用过io吗?你是觉得不能从文件里面直接读出字符串吗?不会用字符流吗?
lz的方式改变下,加密过程相当于直接用base64 encode,写到文件中,然后字符流读出的时候再做decode
大_爱 2011-03-08
  • 打赏
  • 举报
回复
稍等 我试试。成功马上给发!
i李小武 2011-03-08
  • 打赏
  • 举报
回复
用过io么?字节流读的东西也是放在字节数组中的啊。
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
明白了,直接用base64做吧,这样肯定没问题了

public static String StrToBase64(String s)
throws UnsupportedEncodingException {
if (s == null)
return null;
return (new sun.misc.BASE64Encoder()).encode(s.getBytes("UTF-8"));
}

// 把64bit编码转化成普通字符串
public static String Base64ToStr(String s) {
if (s == null)
return null;
BASE64Decoder decoder = new BASE64Decoder();
try {
byte[] b = decoder.decodeBuffer(s);

return new String(b, "UTF-8");

} catch (Exception e) {
return null;
}
}
大_爱 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ilrxx 的回复:]

引用楼主 beefcattlexiaoyang 的回复:
byte[] --> 字符串。
如:"text" --> byte[] --> "text";
现在我如何将byte数组中的数据还原成原来的字符串。谢谢。有满意答案果断结贴。!!

你需求不是这样吗?就一个字符串,放到byte数组中,然后在把这个byte数组还原成原先的string,我还不明白你为什么要这么做,能说下你具体要做什……
[/Quote]


我对字符串进行了加密处理,以byte的方式写入文件中了,然后我再从文件中读取数据读取出来的byte[]数据经过解密 然后还原成加密钱的字符串。不知道说明白没有
ilrxx 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 beefcattlexiaoyang 的回复:]
byte[] --> 字符串。
如:"text" --> byte[] --> "text";
现在我如何将byte数组中的数据还原成原来的字符串。谢谢。有满意答案果断结贴。!!
[/Quote]
你需求不是这样吗?就一个字符串,放到byte数组中,然后在把这个byte数组还原成原先的string,我还不明白你为什么要这么做,能说下你具体要做什么吗?
大_爱 2011-03-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ilrxx 的回复:]

没传中文你怎么知道转出来的是乱码?
[/Quote]
我测试了呀!
大_爱 2011-03-08
  • 打赏
  • 举报
回复
我现在只想把 bytep[]中的数据转成原来的字符串。貌似代码有点问题。
加载更多回复(10)

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧