大端與小端字節(jié)數(shù)據(jù)詳解 什么是大端模式和小端模式?
什么是大端模式和小端模式?java網(wǎng)絡(luò)編程是大端還是小端?網(wǎng)絡(luò)傳輸中使用的大端標記方法,也就是說,權(quán)值較高的數(shù)字先通過,就像12一樣,先通過10,再通過2,即使你失去了后者,損失也不會太大。小端與機器
什么是大端模式和小端模式?
java網(wǎng)絡(luò)編程是大端還是小端?
網(wǎng)絡(luò)傳輸中使用的大端標記方法,也就是說,權(quán)值較高的數(shù)字先通過,就像12一樣,先通過10,再通過2,即使你失去了后者,損失也不會太大。小端與機器有關(guān)。如果您要封裝一個數(shù)字,比如int,封裝后應(yīng)該是big end。您可以調(diào)用htons()或htonl()函數(shù)將其轉(zhuǎn)換為big end(當然,您也可以用big end的方式封裝它,這會有點麻煩)。在傳輸?shù)倪^程中,當然也是大端,接收的緩沖區(qū)也是大端,但是在讀取int類型時,需要將大端轉(zhuǎn)換成小端(使用ntohs()函數(shù)或ntohl()函數(shù)),這樣才能讀取原始的數(shù)字??梢韵胂螅绻褂脵C器A和B進行通信,而A和B的終端序列相同,則中間沒有轉(zhuǎn)換。但這并不是一個好習慣,因為如果移植到機器的另一端序列,那么就需要修改代碼,嚴重破壞設(shè)計。所以最好使用這些函數(shù)。