2017-05-03 5 views
1

Ich habe ein Byte [] und es ist ein Text darin ("# + #" als Byte []).String in Byte ersetzen []

Ich kann es nicht ersetzen, weil, wenn ich dies tun:

String string = new String(array); 
string = string.replace("#+#","SOME STRING"); 
array = string.getBytes(); 

aber das Problem ist, dass Array der Inhalt einer serialisierten Datei ist und es gibt einige keine unterstützten Bytes und so ist Array sehr unterschiedlich dann bevore das Edditing.

+0

was sind die Array-Werte vor und nach ersetzen? – nafas

+3

http://stackoverflow.com/questions/21906002/how-to-overwrite-a-specific-chunk-in-a-byte-array –

+0

Was ist die Codierung der serialisierten Datei? – Marc

Antwort

2

über den Charakter explizit kodieren Sie eine Codierung wie „Latin-1“ verwenden und verwenden, wo alle Byte-Sequenzen auf gültiges Unicode-Zeichen Karte:

String string = new String(array, "Latin-1"); 
string = string.replace("#+#","SOME STRING"); 
array = string.getBytes("Latin-1");