code: def json_safe(string, content_type='application/octet-stream'):
      
      try:
          string = string.decode('utf-8')
          json.dumps(string)
          return string
      except (ValueError, TypeError):
          return b''.join([
              b'data:',
              content_type.encode('utf-8'),
              b';base64,',
              base64.b64encode(string)
          ]).decode('utf-8')
docs: Returns JSON-safe version of `string`.
  
      If `string` is a Unicode string or a valid UTF-8, it is returned unmodified,
      as it can safely be encoded to JSON string.
  
      If `string` contains raw/binary data, it is Base64-encoded, formatted and
      returned according to "data" URL scheme (RFC2397). Since JSON is not
      suitable for binary data, some additional encoding was necessary; "data"
      URL scheme was chosen for its simplicity.