title: Encoding and decoding numpy.array to base64. Why is necessary to use numpy.frombuffer?
body: <p>Please consider, the following code:</p>
  <pre><code>import base64
  import numpy as np
  
  array = np.array([1,2]).astype('float32')
  
  arrayencode64 = base64.b64encode(array)
  
  arraydecode64 = base64.b64decode(arrayencode64)
  
  ARRAY = np.frombuffer(arraydecode64, dtype='float32')
  
  print(array)
  print()
  print(arrayencode64)
  print()
  print(arraydecode64)
  print()
  for el in arraydecode64:
      print(el)
  print()
  print(ARRAY)
  </code></pre>
  <p><strong>Question 1:</strong> I would like to understand why, after to apply <strong>base64.b64decode</strong>, I do not retrieve the original object? I mean, why it need to be read with <strong>np.frombuffer</strong> with the type specified?</p>
  <p>Because, I was expecting to obtain the target object (the numpy.array that is bind in the array variable) just after the application of <strong>base64.b64decode</strong>.</p>
  <p><strong>Question 2:</strong> When I print the variable <strong>arraydecode64</strong> with the <strong>for loop</strong> I got a sequence of number. What exactly they mean?</p>
  <p>Thanks.</p>