Leio uma determinada tabela do banco de dados. Porém ela vem com uns caracteres enstranhos de EOT (end of transmition). Para eliminar esses caracteres estranhos eu converto o String em byte[] e depois leio byte por byte e elimino os caracteres. O restante en apendo num stringbuffer.
O problema é que quando eu converto o string em byte o string perde a formatação. Tipo assim:
StringdoBanco="Assist Técnica - OS 20094806014716 aberta em 04/11/2009. Status: SOLICITAÇÃO ";
Observe que no caso acima tenho um símbolo [EOT]. Preciso eliminá-lo.
Deve ser a codificação que está usando. Use uma que reconheça caracteres latinos.
getBytes("ISO-8859-1");
C
Cristiano_Pires1
Sérgio, não é "/n" nem "/r".
Tem uma máquina que armazena dados no banco de forma automática e gera símbolos ETX (end of text) e EOT (end of transmition) (veja http://www.asciitable.com/)
Se eu ler a tabela do banco, ele não consegue interpretar esses símbolos. Então gera caracteres estranhos.
Para pegar o número do caractere na tabela ascii eu preciso converter em byte. No meu caso o caractere ETX é 003 e EOT é 004.
Ei, recomendo cuidado aí nesse trecho de código. O método “replaceAll” da classe String tem como primeiro parâmetro uma expressão regular, então para buscar corretamente pelo caractere ‘\r’, bote “\r”, e no caso do ‘\n’, ponha “\n”.
Ei, recomendo cuidado aí nesse trecho de código. O método “replaceAll” da classe String tem como primeiro parâmetro uma expressão regular, então para buscar corretamente pelo caractere ‘\r’, bote “\r”, e no caso do ‘\n’, ponha “\n”.
Inté.
Na realidade o método é replace, não replaceAll e usa char, não string. Erro meu.
o objetivo é usar o método que substitui os caracteres directamente. Se uso de byte ou string
eliangela
sergiotaborda:
Na realidade o método é replace, não replaceAll e usa char, não string. Erro meu.
o objetivo é usar o método que substitui os caracteres directamente. Se uso de byte ou string
O método replace usa tanto String como char… public String replace(CharSequence target, CharSequence replacement)
Na realidade o método é replace, não replaceAll e usa char, não string. Erro meu.
o objetivo é usar o método que substitui os caracteres directamente. Se uso de byte ou string
O método replace usa tanto String como char… public String replace(CharSequence target, CharSequence replacement)