CommercialCode.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using MorseCode.Chinese.Properties;
using System.Linq;
using System.Text;

namespace MorseCode.Chinese
{
    public static class CommercialCode
    {
        private static readonly string DATA = Encoding.Default.GetString(GZip.Decompress(Resources.CC));
        public static string FromCodeString(string codeText)
        {
            return FromCodes(codeText.Partition(4, s => short.Parse(s)));
        }

        public static string FromCodes(params short[] codes)
        {
            var strBuilder = new StringBuilder();
            foreach (var code in codes)
            {
                strBuilder.Append(DATA[code]);
            }
            return strBuilder.ToString();
        }

        public static short[] ToCodes(string text)
        {
            var codes = new short[text.Length];
            for (int i = 0; i < codes.Length; i++)
            {
                codes[i] = (short)DATA.IndexOf(text[i]);
                if (codes[i] == -1)
                    codes[i] = 0;
            }
            return codes;
        }

        public static string ToCodesString(string text)
        {
            var str = new StringBuilder(text.Length * 4);
            for (int i = 0; i < text.Length; i++)
            {
                var code = DATA.IndexOf(text[i]);
                if (code == -1)
                    code = 0;
                str.Append(code.ToString("D4"));
            }
            return str.ToString();
        }

        public static string ToMorse(string text)
        {
            return Morse.ShortDigit.ToMorse(ToCodesString(text));
        }

        public static string FromMorse(string morse)
        {
            return FromCodeString(Morse.ShortDigit.FromMorse(morse));
        }

        public static Task BeepTextAsync(string text)
后面还有 5 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。