Вместо того, чтобы найти специальный символ строки, вы можете сделать одну вещь, которую вы можете конвертировать строку в шестнадцатеричный формат, а затем обратно вы можете преобразовать это в предыдущую строку
public static synchronized String toHex(byte [] buf){
StringBuffer strbuf = new StringBuffer(buf.length * 2);
int i;
for (i = 0; i < buf.length; i++) {
if (((int) buf[i] & 0xff) < 0x10){
strbuf.append("0");
}
strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
}
return strbuf.toString();
}
Используя функцию ниже, выможно преобразовать обратно в исходную строку
public synchronized static byte[] hexToBytes(String hexString) {
HexBinaryAdapter adapter = new HexBinaryAdapter();
byte[] bytes = adapter.unmarshal(hexString);
return bytes;
}