code: func NewDataBytes(b []byte) (*Data, error) {
  	d := newData()
  	var cb *C.char
  	if len(b) != 0 {
  		cb = (*C.char)(unsafe.Pointer(&b[0]))
  	}
  	return d, handleError(C.gpgme_data_new_from_mem(&d.dh, cb, C.size_t(len(b)), 1))
  }
docs: // NewDataBytes returns a new memory based data buffer that contains `b` bytes