读书人

字符串 转16进制 请问

发布时间: 2012-02-01 16:58:19 作者: rapoo

字符串 转16进制 请教
譬如 UDP SOCKET 返回的字符串 " FFBC352A "

返回来后,该如何正确显示呢???

现在显示为乱码

String message = new String(packet.getData());
System.out.println(message);
Socket.close();
该如何处理 message 才能让他正确显示呢?
谢谢



[解决办法]
假如是十进制整数转16进制的话
用String类的
static String toHexString(int i)
[解决办法]
如packet.getData()返回的是int
String message = Integer.toHexString((packet.getData());
System.out.println(message);
Socket.close();
如packet.getData()返回的是long
String message = Long.toHexString((packet.getData());
System.out.println(message);
Socket.close();

[解决办法]
编码格式是 ISO-8859-1、GB2312、UTF-8 哪一种呢,这个很关键,否则转出来的字符是乱码。

读书人网 >J2SE开发

热点推荐