C#如何自定義字符編碼表

c#
小樊
94
2024-07-16 17:06:53
欄目: 編程語言

在C#中,可以通過自定義字符編碼表來實(shí)現(xiàn)字符的自定義映射關(guān)系。一種簡單的方式是使用字典(Dictionary)來存儲(chǔ)字符和對(duì)應(yīng)的編碼值。以下是一個(gè)示例代碼,展示了如何自定義字符編碼表:

using System;
using System.Collections.Generic;

class CustomEncoding
{
    private static Dictionary<char, string> encodingTable = new Dictionary<char, string>()
    {
        {'A', "001"},
        {'B', "010"},
        {'C', "011"},
        {'D', "100"},
        // 添加更多的自定義字符和編碼值
    };

    public static string EncodeString(string input)
    {
        string encodedString = "";
        foreach (char c in input)
        {
            if (encodingTable.ContainsKey(c))
            {
                encodedString += encodingTable[c];
            }
            else
            {
                encodedString += c;
            }
        }
        return encodedString;
    }

    public static string DecodeString(string encodedInput)
    {
        string decodedString = "";
        string currentChar = "";
        foreach (char c in encodedInput)
        {
            currentChar += c;
            foreach (var entry in encodingTable)
            {
                if (entry.Value == currentChar)
                {
                    decodedString += entry.Key;
                    currentChar = "";
                    break;
                }
            }
        }
        return decodedString;
    }

    static void Main(string[] args)
    {
        string input = "ABCD";
        string encodedString = EncodeString(input);
        Console.WriteLine("Encoded string: " + encodedString);

        string decodedString = DecodeString(encodedString);
        Console.WriteLine("Decoded string: " + decodedString);
    }
}

在以上示例中,我們定義了一個(gè)encodingTable字典來存儲(chǔ)字符和對(duì)應(yīng)的編碼值。EncodeString方法用于將輸入字符串編碼為自定義編碼表中的值,DecodeString方法用于解碼編碼后的字符串。最后在Main方法中演示了如何使用這個(gè)自定義的字符編碼表。您可以根據(jù)需求修改編碼表中的字符和對(duì)應(yīng)的編碼值。

0