我有一個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