<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                <!-- Endians --> ### 字節存儲次序 不同的機器可以使用不同的字節存儲順序(Endians)來存儲數據。“高位優先”(Big Endian):將最重要的字節放在最低內存地址中,而“低位優先”(Little Endian):將最重要的字節放在最高內存地址中。 當存儲大于單字節的數據時,如 **int**、**float** 等,我們可能需要考慮字節排序問題。**ByteBuffer** 以“高位優先”形式存儲數據;通過網絡發送的數據總是使用“高位優先”形式。我們可以 使用 **ByteOrder** 的 `order()` 方法和參數 **ByteOrder.BIG_ENDIAN** 或 **ByteOrder.LITTLE_ENDIAN** 來改變它的字節存儲次序。 下例是一個包含兩個字節的 **ByteBuffer** : ![1554546378822](../images/1554546378822.png) 將數據作為 **short** 型來讀取(`ByteBuffer.asshortbuffer()`)),生成數字 97 (00000000 01100001)。更改為“低位優先”后 將生成數字 24832 (01100001 00000000)。 這顯示了字節順序的變化取決于字節存儲次序設置: ```java // newio/Endians.java // (c)2017 MindView LLC: see Copyright.txt // 我們無法保證該代碼是否適用于其他用途。 // 訪問 http://OnJava8.com 了解更多本書信息。 // 不同字節存儲次序的存儲 import java.nio.*; import java.util.*; public class Endians { public static void main(String[] args) { ByteBuffer bb = ByteBuffer.wrap(new byte[12]); bb.asCharBuffer().put("abcdef"); System.out.println(Arrays.toString(bb.array())); bb.rewind(); bb.order(ByteOrder.BIG_ENDIAN); bb.asCharBuffer().put("abcdef"); System.out.println(Arrays.toString(bb.array())); bb.rewind(); bb.order(ByteOrder.LITTLE_ENDIAN); bb.asCharBuffer().put("abcdef"); System.out.println(Arrays.toString(bb.array())); } } ``` 輸出結果: ``` [0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102] [0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102] [97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0] ``` **ByteBuffer** 分配空間將 **charArray** 中的所有字節作為外部緩沖區保存,因此可以調用 `array()` 方法來顯示底層字節。`array()` 方法是“可選的”,你只能在數組支持的緩沖區上調用它,否則將拋出 **UnsupportedOperationException** 異常。 **charArray** 通過 **CharBuffer** 視圖插入到 **ByteBuffer** 中。當顯示底層字節時,默認排序與后續“高位”相同,而“地位”交換字節
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看