У нас есть люди, отправляющие непечатаемые типы символов x86 в массив байтов в Java, и когда мы преобразуем его в строку usii-ascii, он вставляет символ нежелательной почты в текст acsii.Как обрабатывать ascii непечатаемые символы в java
Есть ли формат для строки/другого способа обработки непечатаемых символов ascii при преобразовании данных из форматов, таких как EBCDIC в ASCII в java?
Заранее спасибо, JJ
Строки в Java - UTF-16. Как вы выполняете преобразование из массива байтов в строку? Вы просто делаете: 'new String (byteArray,« US-ASCII »);« Возможно, это может помочь: http://stackoverflow.com/a/5536013/355499 –
Если они действительно байты EBCDIC, Java поддерживает [три EBCDIC encodings] (http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html): IBM500/Cp500, x-IBM834/Cp834 и IBM1047/Cp1047; вы можете использовать один из них для преобразования байтов EBCDIC в строку US-ASCII, как это было предложено @EmilH. Неродственное решение, вы можете преобразовать символы EBCDIC в эквивалент Unicode, как показано на http://effbot.org/zone/unicode-gremlins.htm – ecle