Codificación utilizada en cast de byte a byte.

Eche un vistazo al siguiente código de C # (función extraída de laBuildProtectedURLWithValidity funcionar enhttp://wmsauth.org/examples):

byte[] StringToBytesToBeHashed(string to_be_hashed) {
    byte[] to_be_hashed_byte_array = new byte[to_be_hashed.Length];
    int i = 0;
    foreach (char cur_char in to_be_hashed)
    {
        to_be_hashed_byte_array[i++] = (byte)cur_char;
    }
    return to_be_hashed_byte_array;
}

Mi pregunta es:¿Qué hace el casting de byte a char en términos de codificación?

Supongo que realmente no hace nada en términos de Codificación, pero eso significa que la Codificación. El defecto es el que se utiliza, por lo que el byte a devolver dependerá de cómo el marco codificará la cadena subyacente en el Sistema Operativo específico.

Y además, ¿es el carácter realmente más grande que un byte (supongo que 2 bytes) y realmente omitirá el primer byte?

Estaba pensando en reemplazar todo esto por:

Encoding.UTF8.GetBytes(stringToBeHashed)

¿Qué piensas?

Respuestas a la pregunta(3)

Su respuesta a la pregunta