Re: [問題] 寫入二進制檔案問題
※ 引述《immj (immj)》之銘言:
: 各位大大,我想把int寫入二進制檔案。
: 我利用以下程式碼寫入一個值,但出現在二進制檔案內容的數值結果卻是反過來的,
: 例如
: 我輸入255,我希望出現的是 00 00 00 FF,出現的卻是 FF 00 00 00
: 輸入256,我希望出現 00 00 01 00,但出現的卻是 00 01 00 00。
: 以下是我的程式碼擷取,請問各位高手該怎麼改呢?
: 我的原則是輸出的位數要佔4BYTE。
: FileStream fs = new FileStream(Direct, FileMode.Create);
: BinaryWriter sw = new BinaryWriter(fs, Encoding.ASCII);
: int a = 255;
: sw.Write(a);
: sw.Close();
試試看System.Net裡面IPAddress類別底下
有一個轉換 Network Order與Host Order的Static的方法:
int NetworkToHostOrder (int network)
return的int是Host Order的integer
parameter的int是Network order的
int傳出去前先做HostToNetworkOrder()
(一樣是在System.Net裡面IPAddress類別底下的Static方法)
收到以後做NetworkToHostOrder()轉回來
再把轉換過的東西轉成你要的形式寫到你的檔案就應該OK了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 134.208.44.179
討論串 (同標題文章)
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章