title: Unreadable Int16 from UInt8List, wrong data when cast asByteArray
body: <p>I tried to get int, short from data, the data get from websocket, but some thing is wrong, and when i cast from UInt8List -> Byte Data -> UInt8List, it add 2 new uint8 in my array. Any one suggest me how is correct way to get int from byte array. (It's big Endian, my code in Swift and the base write data in Dart still correct). Thank anyone for reading this.</p>
  
  <p>I am using 'dart:typed_data'; and get data from WebSocket (dart:io)</p>
  
  <pre><code>print(responseData); // UInt8List: [0, 1, 0, 1, 0, 1, 49]
  var byteData = responseData.buffer.asByteData();
  var array = byteData.buffer.asUint8List(); 
  print(array); // UInt8List: [130, 7, 0, 1, 0, 1, 0, 1, 49]
  var shortValue = responseData.buffer.asByteData().getInt16(0);
  print(shortValue); // -32249 ( 2 first byte: [0 ,1] so it must be 1 ) 
  </code></pre>