c裡通過串列埠收到的資料會轉換為16進位制字串

時間 2022-02-01 23:35:03

1樓:哲事姓無

數值是沒有必要分幾進位制的,它在記憶體中就是二進位制儲存的。只是為了方便人們檢視,可以轉為n進位制的格式顯示在文字框中進行顯示的。

所以1 buf 就不要轉為字串了,直接以二進位制格式存入資料庫。下次也是以二進位制的形式取出(就是byte)

2 richtextbox1 要顯示二進位制也好,16進位制也好 根據實際需要決定。象你上面的例子,builder 中的內容直接插入到richtextbox1中就好了。

2樓:隨緣嗨參

read()函式讀到的資料是二進位制的。也就是說buf陣列裡面的資料就是二進位制的。string str=enconding.

編碼格式.getstring(buf)就可以把buf按相應編碼格式轉成可識別字元,也就是我們認識的字元。如果二進位制資料代表的是10進位制數字,那麼str裡就是對應的10進位制數字。

還有你這個串列埠讀資料有點問題,會丟失資料。就是可能發生有的資料還沒到快取,你已經讀了的情況。最簡單方法是在 int n=serialpor.

bytestoread;前加一個thread.sleep(毫秒數)來給快取一個接收資料的時間。多少毫秒你根據你給串列埠設定的波特率來設定。

3樓:匿名使用者

把16進位制字串轉10進位制數字很簡單

int i;

i=convert.toint32("0a", 16);

i 就等於10

4樓:匿名使用者

//var 進位制基數 = convert.tostring(99, 16);

//console.writeline(進位制基數);

//console.writeline(convert.toint32(進位制基數, 16));

//進位制基數 = convert.tostring(99, 8);

//console.writeline(進位制基數);

//console.writeline(convert.toint32(進位制基數, 8));

//進位制基數 = convert.tostring(99, 2);

//console.writeline(進位制基數);

//console.writeline(convert.toint32(進位制基數, 2));

c#串列埠接收資料轉換為十六進位制

5樓:匿名使用者

這是轉換的方法

public static byte hexstringtobinary(string hexstring)

return buff;}

6樓:

你發01

02肯定是亂碼啊,這倆是什麼字元?

你發65

66過來就是ab了

VC 串列埠通訊中怎麼將串列埠收到的資料儲存到檔案中

在oncomm事件中作如下處理 long cscrdlg oncommunicate wparam ch,lparam port catch cfileexception,e end catch if error 0 messagebox 檔案已儲存!bj2948a提示 mb iconinforma...

labview串列埠接收到的資料怎樣實時更新

如果你每次收到的位元組數能確定 比如每條發過來的命令位元組數固定,或者最前一兩個位元組表示後面的位元組數 就按照位元組數接收。然後直接把收到的字串給顯示控制元件,不使用移位暫存器或反饋節點當然就不顯示之前的字元了。別加 等待 之類的函式 手錶圖示哪個 串列埠讀取函式會在讀到指定數量的字元或到達超時之...

c 怎麼將int型的資料轉換為string型的

千鋒教育 int轉string int n 0 std stringstream ss std string str ss str c 是在c語言的基礎上開發的一種物件導向程式語言,應用廣泛。c 支援多種程式設計正規化 物件導向程式設計 泛型程式設計和過程化程式設計。最新正式標準c 於2014年8月...