我有一个API在客户端和服务器之间发回数据&。在客户端,有一个解析器将这些数据放入一个属性文件中。如何将十六进制整数转换为字符串
我已经将服务器端的字符串数据转换为十六进制整数,以避免陷入麻烦与我的分析器,因为我分裂我的数据字符如“;”和“_”。因此,如果我的数据包含任何这些字符,将会导致解析器出现问题。
server send: SC;4b6579_56616c7565;4b65790a4e65776c696e65_56616c75650a4e65776c696e65;4b65795f556e64657273636f7265_56616c75655f556e64657273636f7265
client received: SC;4b6579_56616c7565;4b65790a4e65776c696e65_56616c75650a4e65776c696e65;4b65795f556e64657273636f7265_56616c75655f556e64657273636f7265
因此,一些样本数据会
String key = "4b6579";
String value = "56616c7565";
int hexKey = Integer.parseInt(key, 16);
int hexValue = Integer.parseInt(value, 16);
如何把我的hexKey
和hexValue
成字符串?
结果应该是如下:
4b6579
转换为文字Key
56616c7565
转换为文字Value
编辑:
答案在这里找到: Convert a String of Hex into ASCII in Java
通常最好使用常用的代替自定义实现的东西。例如。您可以使用序列化到BASE64的JSON来消除(反)序列化和不同的编码问题。你也可以提供服务器代码,将服务器数据转换为你发送的内容。 – yatul
所以你试图将特定值“4b6579”转换为特定字符串“key”?在这种情况下,您应该将该值映射到字符串。你可以使用一个简单的switch语句。 –
@GilbertLeBlanc这是你的链接的副本,谢谢。这应该解决我的问题。 – JREN