日期:2014-05-20  浏览次数:20728 次

字符串 转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 哪一种呢,这个很关键,否则转出来的字符是乱码。