how to send arduino transmiter,byte

not works

#include <VirtualWire.h>

String  controller;
void setup() {
 pinMode(13,OUTPUT);
vw_set_ptt_inverted(true); 
vw_set_tx_pin(12);
vw_setup(2000);
}

void loop(){
controller="122";  
byte k=(byte)controller;
vw_send(controller);
vw_wait_tx(); 
digitalWrite(13,1);


}

Not compiled, not tested

#include <VirtualWire.h>

void setup() 
{
 pinMode(13,OUTPUT);
  vw_set_ptt_inverted(true);
  vw_set_tx_pin(12);
  vw_setup(2000);
}

void loop()
{
  char* controller="122"; 
  vw_send((byte*)controller);
  vw_wait_tx();
  digitalWrite(13,1);
}

not works

OK. When you feel comfortable sharing details, feel free to get back to us.

controller="122";  
byte k=(byte)controller;

It makes NO sense casting an instance of a String class as a byte.