Ciao
con quattro byte puoi ottenere un long, ma sarà sempre nel range di un int: i long sono dati a 64 bit, quindi 8 byte, mentre gli int sono a 32 bit, 4 byte.
Per ottenere un int da un array di byte puoi usare la funzione BitConverter.ToInt32(), che ricava l'int da quattro byte consecitivi nell'array:
byte[] buffer = new byte[] { 0, 85, 170, 255 };
int valore = BitConverter.ToInt32(buffer, 0);
Quindi se hai una stringa di quattro caratteri, ottieni prima il corrispondente valore in bytes con Encoding.ASCII.GetBytes(), e quindi ricavi l'int nello stesso modo di prima:
byte[] buffer = Encoding.ASCII.GetBytes("_str");
int valore = BitConverter.ToInt32(buffer, 0);
Dimmi se ottieni il risultato che volevi o se ci sono problemi
Luca