2012-06-11 50 views
0

什麼是保證以下操作將被正確執行的最安全的方法:C#安全的方式字節和其他類型之間的轉換

當我在4個字節作爲一個UINT32讀,我會寫出來的文本文件。 稍後我將打開這個文本文件,讀取我以前寫出的數字,然後將其轉換回4個字節用於其他處理。

+3

爲什麼涉及UINT32呢?如果你希望你的數據是可移植的,你將會遇到以這種方式考慮它的endian問題。只需使用Stream.Write寫入字節並使用Stream.Read讀取即可。 – spender

+0

我在想,解析一個文本文件中的整數比解析4個字節更容易。 – MxyL

回答

1

由於您將此存儲爲字符串,因此沒有太多內容。顯然,使用.ToString()將數字轉換爲字符串沒有問題。因此,我認爲唯一的問題是如何以可靠的方式回去。解決方案是使用uint.Parse。即:

var s = "12343632423432"; 
uint i = uint.Parse(s); 

(PS:BitConverter不是從字符串轉換有用)

3

還有就是BitConverter類來幫助你基本類型和字節之間的轉換。

+0

與在C#代碼中進行掩碼和轉換相比,BitConverter的速度也非常快。 –