I don't get you : a text encoding is not, in any way, a cryptographic algorithm; a text encoding represents the way the computer stores the bytes representing a text.
Changing an encoding is as trivial as
byte[] originalBytes;
Encoding enc = Encoding.GetEncoding("windows-1256");
byte[] newBytes = enc.GetBytes(Encoding.UTF8.GetString(originalBytes));
More on this here:
Encoding Class[
^].
But what I don't get is the relation of a text-encoding with a RSA encryption. An encryption algorithm accepts an array of bytes as input; how you got this array of bytes (i.e., which text encoding you used, if you are trying to encrypt some text) is not the concern of the algorithm.
So I believe you should try to explain better what you are trying to do.
[Edit] Sorry for having missed your tag.
For Java:
byte[] originalBytes;
byte[] newBytes = new String(originalBytes, "UTF8").getBytes("Windows-1256");
That does not change the fact that string encoding must not be confounded with encryption. Even if they share their first three letters, they are not related in any way.
[/Edit]