2011-06-03 44 views
2

假設我們通過網絡發送一些數據......我的理解是,Endianness無條件成爲一個問題,因爲我們不知道接收機器期望什麼以及發送機器將發送什麼。根據經驗,這是正確的嗎?Endianness總是需要考慮的問題嗎?

答案取決於正在發送的數據的類型,比方說,如果我們發送C字符串vs IEEE樣式的4字節浮點數,這是否重要?

回答

2

是的,字節序總是需要在網絡協議中考慮和定義。它會影響大於單個字節的所有類型。所以一個基於char的C字符串將不會受到它的影響,因爲它只是一個單字節的數組,但如果其中一臺機器是小端,另一個是大端,則需要轉換基於wchar_t的字符串。同樣適用於所有較大類型,如intfloat等。

+0

優秀。謝謝 – JAM 2011-06-03 21:10:11