C 位元組流通信格式

2022-05-08 08:39:20 字數 2811 閱讀 3443

byte陣列轉float的實現,bitconvetor.tosingle()

float型別轉by,bitconverter.getbytes

#客戶端傳送

public

byte funfloattobytes(byte command,float

coordinate_camera)

return

bufferlist.toarray();

}#伺服器端接收

//客戶端連線成功後,伺服器接收客戶端發來的訊息

byte buffer = new

byte[1024 * 1024 * 2

];

//實際接收到的位元組數

int r =sendscoket.receive(buffer);

if (r == 0

)

//string str = encoding.utf8.getstring(buffer, 0, r);

//showmsg(sendscoket.remoteendpoint + ":" + str);

byte command=buffer[0

];

float receivecommandfloat=new

float[4

] ;

for (int i = 0; i < receivecommandfloat.count(); i++)

showmsg(command,receivecommandfloat);

拓展:float型資料與位元組陣列的轉化

在c#中可以使用bitconverter類中的函式進行轉換,如下:

名稱

說明

getbytes(double)

以位元組陣列的形式返回指定的雙精度浮點值。

getbytes(single)

以位元組陣列的形式返回指定的單精度浮點值。

todouble

返回由位元組陣列中指定位置的八個位元組轉換來的雙精度浮點數。

tosingle

返回由位元組陣列中指定位置的四個位元組轉換來的單精度浮點數。

bitconverter類進行基礎資料型別與位元組陣列之間的相互轉換,此類便於操作基本形式的型別。乙個位元組定義為乙個 8位無符號整數。包含的方法如下:

名稱

說明

doubletoint64bits

將指定的雙精度浮點數轉換為 64 位有符號整數。

getbytes(boolean)

以位元組陣列的形式返回指定的布林值。

getbytes(char)

以位元組陣列的形式返回指定的 unicode 字元值。

getbytes(double)

以位元組陣列的形式返回指定的雙精度浮點值。

getbytes(int16)

以位元組陣列的形式返回指定的 16 位有符號整數值。

getbytes(int32)

以位元組陣列的形式返回指定的 32 位有符號整數值。

getbytes(int64)

以位元組陣列的形式返回指定的 64 位有符號整數值。

getbytes(single)

以位元組陣列的形式返回指定的單精度浮點值。

getbytes(uint16)

以位元組陣列的形式返回指定的 16 位無符號整數值。

getbytes(uint32)

以位元組陣列的形式返回指定的 32 位無符號整數值。

getbytes(uint64)

以位元組陣列的形式返回指定的 64 位無符號整數值。

int64bitstodouble

將指定的 64 位有符號整數轉換成雙精度浮點數。

toboolean

返回由位元組陣列中指定位置的乙個位元組轉換來的布林值。

tochar

返回由位元組陣列中指定位置的兩個位元組轉換來的 unicode 字元。

todouble

返回由位元組陣列中指定位置的八個位元組轉換來的雙精度浮點數。

toint16

返回由位元組陣列中指定位置的兩個位元組轉換來的 16 位有符號整數。

toint32

返回由位元組陣列中指定位置的四個位元組轉換來的 32 位有符號整數。

toint64

返回由位元組陣列中指定位置的八個位元組轉換來的 64 位有符號整數。

tosingle

返回由位元組陣列中指定位置的四個位元組轉換來的單精度浮點數。

tostring( array)

將指定的位元組陣列的每個元素的數值轉換為它的等效十六進製制字串表示形式。

tostring( array, int32)

將指定的位元組子陣列的每個元素的數值轉換為它的等效十六進製制字串表示形式。

tostring( array, int32, int32)

將指定的位元組子陣列的每個元素的數值轉換為它的等效十六進製制字串表示形式。

touint16

返回由位元組陣列中指定位置的兩個位元組轉換來的 16 位無符號整數。

touint32

返回由位元組陣列中指定位置的四個位元組轉換來的 32 位無符號整數。

touint64

返回由位元組陣列中指定位置的八個位元組轉換來的 64 位無符號整數。

java通訊位元組流

我們都知道字串是由位元組組成的,而位元組是二進位制組成的在網路是一一傳送,從網路中讀取資訊時也是一樣的,也都是乙個乙個位元組的讀取,當我們從inputstream物件中讀取從網路上發來的資訊時,都是一次只能讀取到乙個位元組,然後再將這些位元組組裝成乙個string字串,當然位元組流僅限於文字資訊的交...

C 的位元組流Stream

memorystream類 memorystream類用於向記憶體而不是磁碟讀寫資料。memorystream封裝以無符號位元組陣列形式儲存的資料,該陣列在建立memorystream物件時被初始化,或者該陣列可建立為空陣列。可在記憶體中直接訪問這些封裝的資料。記憶體流可降低應用程式中對臨時緩衝區和...

c 位元組流與結構體互轉

c 是型別不安全的,一般位元組流和結構體是可以互相強轉的,但前提是位元組流要像結構體一樣進行資料對齊,下面就來看看按資料大小依次排列的位元組流是如何轉化為結構體的 基礎依賴部分 include include include namespace sangame tdata8 typedef unio...