Дубликат:Compare hexadecimal and decimal valuesсравнить шестнадцатеричные значения Java
Я реализует протокол X-модема в Java, я чтение SerialPort и хранение в байтовый массив размером 1024. Затем я преобразованные данные в строку я 'получаю 133 байта в пакете, проблема в том, что я не могу сравнивать шестнадцатеричное значение в строке, а также в bytearray. Я должен найти SOH, т. Е. 0x01,EOT=0x02
, но я не могу понять, как это сделать.
Вот часть thecode:
char SOH=0X01;
public void readResponse()
{
byte[] buffer = new byte[1024];
int len = -1;
String data;
try
{
while ((len = this.getIn().read(buffer)) > -1)
{
data = new String(buffer,0,len);
time = System.currentTimeMillis();
data = new String(buffer, 0, len);
System.out.println("Data length is "+data.length());
System.out.println(data);
for(int i=0;i<carray.length;i++)
{
if(data.CharAt(i)==SOH)
{
System.out.println("SOH["+i+"]"+data.CharAt(i));
}
}
}
Спасибо заранее.
Два человека зафиксировали форматирование, и вы продолжаете вставлять исправленный (?) Код без форматирования, разрушая их усилия. Вы должны попробовать и посмотреть, что значки над текстовой областью сделаны для ... – PhiLho