ホームページ > Java > &#&チュートリアル > Java バイト配列を文字列に変換して戻すにはどうすればよいですか?

Java バイト配列を文字列に変換して戻すにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-10 03:36:02
オリジナル
1053 人が閲覧しました

How to Convert a Java Byte Array to a String and Back?

Java バイト配列を文字列に変換し、バイト配列に戻す

Java では、バイト配列を文字列に変換するのが一般的なタスクです。ただし、これには、バイト配列を文字列表現に変換してからバイト配列に戻すという 2 つの操作が必要であることを理解することが重要です。この記事は、このプロセスを明確にすることを目的としています。

バイト配列から文字列への変換

バイトの文字列表現を取得するには、Arrays.toString() メソッドがよく使用されます。配列。たとえば、値 [-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]、Arrays.toString(data.toByteArray()) を呼び出すと次の結果が得られます:

[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]
ログイン後にコピー
ログイン後にコピー

この文字列表現は、ネットワーク経由で送信することも、データベースに保存することもできます。

文字列からバイト配列への変換

受信側で文字列表現を受け取る際には、バイト配列に変換し直す必要があります。これには、文字列の解析とバイト配列の再構築が含まれます。

これにアプローチする 1 つの方法は、「[-47, 1, 16, 84, 2, 101」のような文字列を受け取る byteValues() メソッドを使用することです。 、110、83、111、109、101、32、78、70、67、32、68、97、116、97]" と文字列の配列を返します:

[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]
ログイン後にコピー
ログイン後にコピー

この内の各要素配列はバイト値を表します。これをバイト配列に変換するには、ループを使用して文字列を反復処理し、文字列をバイトに解析して、新しいバイト配列に格納します。

コード例

次の Python スクリプトは、クライアントから受信したデータのサーバー側の処理を示しています。

response = "[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]"      # Placeholder response from the client

byte_values = response.substring(1, response.length() - 1).split(",")
# Convert the string values to bytes
bytes = bytearray([int(byte_value.strip()) for byte_value in byte_values])

# Send the bytes back to the client
ログイン後にコピー

注:

配列の場合は覚えておいてください。 toString() はバイト配列を文字列に変換します。元のデータ型情報は失われます。したがって、文字列をバイト配列に正しく変換するには、文字列を注意深く解析し、適切なメソッドを使用して手動でバイト配列を再構築する必要があります。

以上がJava バイト配列を文字列に変換して戻すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート