Мне нужно, чтобы байты управляющего символа STX (02h) добавлялись к потоку, который мне нужно отправить на плату контроллера.Как получить байты управляющего символа в Java
Как получить байты управляющего символа STX в Java?
Мне нужно, чтобы байты управляющего символа STX (02h) добавлялись к потоку, который мне нужно отправить на плату контроллера.Как получить байты управляющего символа в Java
Как получить байты управляющего символа STX в Java?
Байт управляющего символа зависит от кодировки, используемой на плате контроллера. Для ASCII:
new String("\u0002").getBytes(StandardCharsets.US_ASCII);
Обратите внимание, что если вы пишете символы в выходной поток, вы должны обернуть его с Writer, который сконфигурирован с правильной кодировкой:
OutputStream controllerOutputStream;
Charset controllerCharset = StandardCharsets.US_ASCII; // probably ASCII
Writer controllerWriter = new OutputStreamWriter(controllerOutputStream, controllerCharset);
controllerWriter.append('\u0002'); // append a single character
Это может работать или не работать в зависимости от используемой по умолчанию кодировки вашей платформы и используется ли плата контроллера. – RealSkeptic
Во-первых, это 'getBytes()', а не 'toBytes()'. Во-вторых, не в 'utf-16'. – RealSkeptic
@AdrianLeonhard - Это сработало - THANX !!! На плате используются стандартные символы ASCII. –
бы это сообщение помочь вам? http://stackoverflow.com/questions/5513144/converting-char-to-byte –
STX - это один символ в ASCII, не представленный буквальным «STX». –