Rumah >Java >javaTutorial >Bagaimana untuk Menukar Array Byte Java kepada String dan Back?
Java Byte Array kepada String dan Back to Byte Array
Dalam Java, menukar tatasusunan bait kepada rentetan ialah tugas biasa. Walau bagaimanapun, adalah penting untuk memahami bahawa ini melibatkan dua operasi: menukar tatasusunan bait kepada perwakilan rentetan dan kemudian kembali kepada tatasusunan bait. Artikel ini bertujuan untuk menjelaskan proses ini.
Penukaran daripada Array Byte kepada String
Kaedah Arrays.toString() biasanya digunakan untuk mendapatkan perwakilan rentetan bagi bait tatasusunan. Sebagai contoh, jika kita mempunyai data tatasusunan bait yang mengandungi nilai [-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97], memanggil Arrays.toString(data.toByteArray()) akan menghasilkan:
[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]
Perwakilan rentetan ini boleh dihantar melalui rangkaian atau disimpan dalam pangkalan data.
Penukaran daripada Rentetan Kembali kepada Tatasusunan Byte
Apabila menerima perwakilan rentetan pada hujung penerima, anda perlu menukarnya semula kepada tatasusunan bait. Ini melibatkan menghuraikan rentetan dan membina semula tatasusunan bait.
Salah satu cara untuk mendekati ini ialah menggunakan kaedah byteValues(), yang mengambil rentetan seperti "[-47, 1, 16, 84, 2, 101 , 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]" dan mengembalikan tatasusunan rentetan:
[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]
Setiap elemen dalam ini tatasusunan mewakili nilai bait. Untuk menukar ini kembali kepada tatasusunan bait, anda boleh menggunakan gelung untuk mengulangi rentetan, menghuraikannya kepada bait dan menyimpannya dalam tatasusunan bait baharu.
Kod Contoh
Skrip Python berikut menggambarkan pengendalian sisi pelayan bagi data yang diterima daripada klien:
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
Nota:
Ingat bahawa apabila Tatasusunan. toString() menukar tatasusunan bait kepada rentetan, ia kehilangan maklumat jenis data asal. Oleh itu, untuk menukar rentetan kembali kepada tatasusunan bait dengan betul, anda perlu menghuraikan rentetan itu dengan teliti dan membina semula tatasusunan bait secara manual menggunakan kaedah yang sesuai.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Array Byte Java kepada String dan Back?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!