私はソケット接続に取り組んでいます。私はクライアント側で働いています。私はこの議論を行ってきましたSocket pass value as Hex . 1 72 61 76 69 のような 16 進数値を期待しているサーバーで、たとえば (0x01 は 16 進数値であり、文字列 "Ravi" です) 送信する必要があります。文字列 Ravi を文字列として 16 進数値に変換し、"1 "そして、バイト配列への変換を試みます。StringIndexOutOfBound 例外という例外が発生しています。
アップデート:
`public static byte[] hexStringToByteArray(String s) { int len = s.length(); byte[] データ = 新しい byte[len / 2]; for (int i = 0; i < len; i += 2) { データ[i / 2] = (バイト) ((Character.digit(s.charAt(i), 16) << 2) + Character.digit (s.charAt(i+1), 16)); データを返します。}
public String toHex(String arg) {
return String.format("%x", new BigInteger(arg.getBytes()));
}`
これらの 2 つのメソッドを使用して 1Ravi 文字列をバイト配列に変換しましたが、例外 hexstringtobytearray メソッドが発生しています。