我正在使用android中的庫連接到終端模擬器,它連接到串行設備(交換機)並顯示我發送/接收的數據。查找字節數組中的特定字符?
不過我只是在發送的字節數組和背部,所以我不知道該開關處於什麼樣的地位,是它讓更多的還是配置模式等,這使我在錯誤的模式可能輸入命令,他們將無法工作。然後,交換機處於不可恢復模式,因爲我發送了錯誤的命令,無法將其刪除或換到新的行。 。我試圖解決現在的問題是一個,我不要;知道的模式開關在我知道我可以有三種不同的返回提示我發送一個命令後:
switch>
switch#
switch(config)#
所以我在想,如果我讀了收到的最後兩個字符,我就可以知道我處於哪種模式。h>,h#and)#
我在這種方法中收到數據,只要收到數據,
public void onDataReceived(int id, byte[] data)
{
String str = new String(data);
((MyBAIsWrapper) bis).renew(data);
mSession.write(str);
mSession.notifyUpdate();
viewHandler.post(updateView);
}
要做到這一點的最佳方法是以某種方式搜索字節數組或將其轉換爲字符串並搜索字符串h>,h#和)#,然後我可以設置一個全局變量,取決於我返回的值?也許從頭到尾搜索?
我認爲,將其轉換爲字符串是最簡單明瞭的方法。我也會這樣做。 – Andremoniy
將其轉換爲字符串時,不要忘記指定編碼。 – jlordo
爲什麼有必要指定,我從來沒有編碼一個字符串,爲無知道歉。所以我會把它編碼爲ascii? UTF8?這些選擇如何影響我? – Paul