2 bytes to short

Remember, you don’t have to tie yourself in knots with bit shifting if you’re not too familiar with the details. You can use a ByteBuffer to help you out: ByteBuffer bb = ByteBuffer.allocate(2); bb.order(ByteOrder.LITTLE_ENDIAN); bb.put(firstByte); bb.put(secondByte); short shortVal = bb.getShort(0); And vice versa, you can put a short, then pull out bytes. By the way, … Read more

bytes vs bytearray in Python 2.6 and 3

For (at least) Python 3.7 According to the docs: bytes objects are immutable sequences of single bytes bytearray objects are a mutable counterpart to bytes objects. And that’s pretty much it as far as bytes vs bytearray. In fact, they’re fairly interchangeable and designed to flexible enough to be mixed in operations without throwing errors. … Read more

How many bits is a “word”?

I’m not familiar with either of these books, but the second is closer to current reality. The first may be discussing a specific processor. Processors have been made with quite a variety of word sizes, not always a multiple of 8. The 8086 and 8087 processors used 16 bit words, and it’s likely this is … Read more

Converting a byte array into a hex string

As I am on Kotlin 1.3 you may also be interested in the UByte soon (note that it’s an experimental feature. See also Kotlin 1.3M1 and 1.3M2 announcement) E.g.: @ExperimentalUnsignedTypes // just to make it clear that the experimental unsigned types are used fun ByteArray.toHexString() = asUByteArray().joinToString(“”) { it.toString(16).padStart(2, ‘0’) } The formatting option is … Read more