It looks like the arr.data memoryview only lets you slice over the first axis. If you switch to bytes(A[0].data[:1]), you get b'\x01\x00\x00\x00\x00\x00\x00\x00'.
You can get a flat array of bytes (uint8) with A.view('B').reshape(-1).
>>> import numpy as np
>>> A = np.array([[1,2,3,4]])
>>> bytes(A.view('B').reshape(-1).data[:1])
b'\x01'