Как превратить значение ASCII обратно в символ - PullRequest
0 голосов
/ 05 января 2019

У меня есть текстовое сообщение, которое я преобразовал в ASCII. Затем я использовал значение ASCII и ключевое слово для преобразования значения ASCII в значение соответствующей буквы в уникальном алфавите. Как бы я преобразовать число ASCII обратно в символ. Я в настоящее время использую символы 97 - 122

foreach (char c in txtEncryption.Text) // Finding ascii values for each character
{
    byte[] TempAsciiValue = Encoding.ASCII.getChars(c); // Fix,,,

    string TempAsciiValStr = TempAsciiValue.ToString();
    int TempAsciiVal = int.Parse(TempAsciiValStr);

    if (TempAsciiVal == 32)
    {
        ArrayVal[Count] = TempAsciiVal;
    }
    else
    { 
        // Calculations
        int Difference = TempAsciiVal - 65; // Finds what letter after A it is
        int TempValue = ArrayAlphabet[Count, 1]; // Find the starting ASCII value for new alphabet
        int TempValuePlusDifference = TempValue + Difference;

        //Convert the ASCII value to the letter

        ArrayVal[Count] = TempValuePlusDifference; //Store the letters ASCII code

        Count++;

        if (Count > 3)
        {
            Count = 1;
        }
    }
    for (int d = 1; d < CountMessageLength; d++)
    {
        string TempArrayVal = ArrayVal[Count].ToString();
        txtEncryption2.Text = TempArrayVal;
        // Convert TempArrayVal to = Letter (TempLetterStorage),,,,
        // String FinalMessage = all TempLetterStorage values
    }
}

1 Ответ

0 голосов
/ 05 января 2019

Начиная с байтов, которые являются кодами символов ASCII, скажем, ради этого упражнения, от 97 до 122

Byte[] asciiBytes = Enumerable.Range(97, 122 + 1 - 97).Select(i => (Byte)i).ToArray();

Используйте объект кодирования для кодирования ASCII с желаемым поведением, чтобы проверить: подтвердите наше предположение, что входные коды символов находятся в диапазоне ASCII:

Encoding asciiEncoding = Encoding.GetEncoding(
    Encoding.ASCII.CodePage, 
    EncoderFallback.ExceptionFallback, 
    DecoderFallback.ExceptionFallback)

Декодирование в .NET String (UTF-16)

String text = asciiEncoding.GetString(asciiBytes);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...