1

クライアントとサーバーの間でデータを送受信する API があります。クライアント側には、このデータを取得してプロパティ ファイルに入れるパーサーがあります。

「;」などの文字でデータを分割するため、パーサーで問題が発生しないように、サーバー側の文字列データを 16 進整数に変換しました。と "_"。したがって、データにこれらの文字が含まれていると、パーサーで問題が発生します。

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);

hexKeyandを文字列に変換するにはどうすればよいhexValueですか?

結果は次のようになります。

  • 4b6579単語に変換しますKey
  • 56616c7565単語に変換しますValue

編集:

答えはここにありました: Java で 16 進数の文字列を ASCII に変換する

4

3 に答える 3

1

hexKeyhexValueをにしたい場合はString、これを行うだけです。

String.valueOf(hexKey);
String.valueOf(hexValue);

の代わりにInteger.parseInt(key, 16)Long.parseLong(key, 16);

于 2013-06-20T13:09:28.400 に答える
0
String hex = Integer.toHexString(hexKey);

http://www.codebeach.com/2008/02/convert-hex-string-to-integer-and-back.html

于 2013-06-20T13:09:28.260 に答える