Кодировка, используемая в приведении от символа к байту

Посмотрите на следующий код C # (функция извлечена изBuildProtectedURLWithValidity функция вhttp: //wmsauth.org/example):

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;
}

Мой вопрос: Что происходит с преобразованием байта в символ с точки зрения кодирования?

Я полагаю, что на самом деле ничего не происходит с точки зрения кодирования, но означает ли это, что используется именно Encoding.Default, и поэтому возвращаемый байт будет зависеть от того, как инфраструктура будет кодировать базовую строку в конкретной Оперативной системе?

И кроме того, действительно ли символ больше байта (я предполагаю 2 байта) и пропустит первый байт?

Я думал заменить все это на:

Encoding.UTF8.GetBytes(stringToBeHashed)

Что вы думаете

Ответы на вопрос(3)

Ваш ответ на вопрос