字符串转为16进制问题!!!

漫天雪_昆仑巅
博客专家认证
2012-04-28 09:14:28
在Java中如何将字符串和16进制的数据格式互转?
比方说:任意的字符串(可以包括中文),可以包含任何字符以及特殊符号,然后转为 这种格式:B0A2CBB9B5D9B7D2
急!!!!!在线等 高手们 帮帮忙.....
...全文
239 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
感谢大家的关注,不过问题已经解决了,主要是出现在中文编码上额问题,比方说:UTF-8是3字节,6个16进制字母的,所以 对接的时候就有点问题了。。。
WayneXuan 2012-04-29
  • 打赏
  • 举报
回复
sun.misc.BASE64Encoder
sun.misc.BASE64Dncoder
phili1999 2012-04-28
  • 打赏
  • 举报
回复
首先用 String.getBytes()将字符串转换为byte[]数组,然后将数组内容依次输出为hex字符串
反之亦然。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

用其它软件将中文转换成16进制后,再用贝~ 好像UE能转
[/Quote]

不行啊、不能用在线工具,一定要在Java代码中去转换,因为这是传递过来的参数,但是这个参数是十六进制的,所以要解成字符串去,然后操作完数据库以后,再把需要返回的信息进行十六进制处理,然后返回,所以不能直接用其他软件....
ETCentury 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

是不是为了做编码传输?
那干嘛搞的这么复杂...
用base64不就行了嘛...

String str = "我是测试abcdASDF";

BASE64Encoder encoder = new BASE64Encoder();
BASE64Decoder decoder = new BASE64Decoder();

String str2 = encoder.encod……
[/Quote]
这个有意思~!
VCXIAOHEI 2012-04-28
  • 打赏
  • 举报
回复
用其它软件将中文转换成16进制后,再用贝~ 好像UE能转
beiouwolf 2012-04-28
  • 打赏
  • 举报
回复
是不是为了做编码传输?
那干嘛搞的这么复杂...
用base64不就行了嘛...

String str = "我是测试abcdASDF";

BASE64Encoder encoder = new BASE64Encoder();
BASE64Decoder decoder = new BASE64Decoder();

String str2 = encoder.encode(str.getBytes());
System.out.println("BASE64编码:" + str2);
System.out.println("还原字符串:" + new String(decoder.decodeBuffer(str2)));
liuyyuns 2012-04-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
引用 3 楼 的回复:

首先用 String.getBytes()将字符串转换为byte[]数组,然后将数组内容依次输出为hex字符串
反之亦然。


然后将数组内容依次输出为hex字符串? 怎么输出呢?
[/Quote]
输出成你自己想要的就可以了
用System.out.println();查看下
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

首先用 String.getBytes()将字符串转换为byte[]数组,然后将数组内容依次输出为hex字符串
反之亦然。
[/Quote]

然后将数组内容依次输出为hex字符串? 怎么输出呢?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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