根据Unicode编码输入字符串获取字符串的语言 (C#)

话也不多说了,直接上代码了,程序好写,编码不好找,如果有什么不对的地方请各位多多指教,如果各位还知道其他国家地区的编码请多多补充

 using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
namespace EnCoding
{
    class Program
    {
        static void Main(string[] args)
        {
            //如果同时出现两种或两种以上文字,如果阿拉伯和中文英文,则以最多的字符返回,如果多种字符的长度相同,则同时返回
            string info = "如果同时出现两种或两种以上文字,如果阿拉伯和中文英文,则以最多的字符返回,如果多种字符的长度相同,则同时返回";
            string name = getCodeName(info);
            Console.WriteLine(name);
            Console.ReadLine();
        }
        /// <summary>
        
/// 获取字符串编码
        
/// </summary>
        
/// <param name="info">要检测的字符串</param>
        
/// <returns>所属的语言</returns>
        static string getCodeName(string info)
        {
            List<encodeEntity> list = getCodeList();
            List<recordEntity> getList = new List<recordEntity>();
            Regex regex = null;
            int c = 0;
            foreach (var item in list)
            {
                regex = new Regex(item.reg.ToString());
                if (regex.IsMatch(info))
                {
                    getList.Add(new recordEntity() { count = info.Length-(regex.Replace(info, "").Length), Zname = item.Zname });
                }
            }
            if (getList.Count > 0)
            {
                if (getList.Count == 1)
                {
                    return getList[0].Zname;
                }
                else
                {
                    string name = "";
                    int k = 0;
                    foreach (var item in getList)
                    {
                        if (item.count > k)
                        {
                            k = item.count;
                        }                        
                    }
                    foreach (var item in getList)
                    {
                        if (item.count == k)
                            name += item.Zname+"\t";
                    }
                    return name;
                }
            }
            else
            {
                return "没有找到所属的编码";
            }          
        }
        /// <summary>
        
/// 获取搜有 unicode 编码
        
/// 本人只找到这么多,如果没有您需要的可以自行添加
        
/// </summary>
        
/// <returns>List<encodeEntity></returns>
        static List<encodeEntity> getCodeList()
        {
            List<encodeEntity> list = new List<encodeEntity>(){
                new encodeEntity(){reg="[\u0041-\u005A\u0061-\u007A]",Zname="英文"},
                //new dictionaryClass(){reg="[\u2E80-\u2FDF\u3100-\u312F\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]",Zname="中文"},
                new encodeEntity(){reg="[\u4e00-\u9fa5]",Zname="中文"},                
                //new dictionaryClass(){reg="[\u3040-\u30FF\u31F0-\u31FF]",Zname="日文"},
                new encodeEntity(){reg="[\u0800-\u4e00]",Zname="日文"},                
                new encodeEntity(){reg="[\u1100-\u11FF\u3130-\u318F\uAC00-\uD7AF]",Zname="韩文"},
                new encodeEntity(){reg="[\u0E00-\u0E7F]",Zname="泰文"},
                new encodeEntity(){reg="[\u0E80-\u0EFF]",Zname="寮文"},
                new encodeEntity(){reg="[\u0F00-\u0FFF]",Zname="藏文"},
                new encodeEntity(){reg="[\uA000-\uA4CF]",Zname="彝文"},
                new encodeEntity(){reg="[\u1800-\u18AF]",Zname="蒙古文"},
                new encodeEntity(){reg="[\u1000-\u109F]",Zname="缅甸文"},
                new encodeEntity(){reg="[\u1780-\u17FF]",Zname="高棉文"},
                new encodeEntity(){reg="[\u00C0-\u02AF\u1E00-\u1EFF]",Zname="拉丁文Latin"},
                new encodeEntity(){reg="[\u0370-\u03FF\u1F00-\u1FFF\u2C80-\u2CFF]",Zname="希腊文Greek"},
                new encodeEntity(){reg="[\u0590-\u05FF]",Zname="希伯来文 Hebrew"},
                new encodeEntity(){reg="[\u0600-\u06FF\u0750-\u077F]",Zname="阿拉伯文Arabic"},
                new encodeEntity(){reg="[\u0700-\u074F]",Zname="叙利亚文Syriac"},
                new encodeEntity(){reg="[\u0400-\u052F]",Zname="西里尔文Cyrillic"},
                new encodeEntity(){reg="[\u0530-\u058F]",Zname="亚美尼亚文Armenian"},
                new encodeEntity(){reg="[\u0980-\u09FF]",Zname="孟加拉文Bengali"},
                new encodeEntity(){reg="[\u0D80-\u0DFF]",Zname="僧伽罗文Sinhala斯里兰卡文"},
                new encodeEntity(){reg="[\u10A0-\u10FF\u2D00-\u2D2F]",Zname="乔治亚文Georgian英国古文"},
                new encodeEntity(){reg="[\u1680-\u169F]",Zname="欧甘文Ogham爱尔兰文"},
                new encodeEntity(){reg="[\u16A0-\u16FF]",Zname="如尼文Runic北欧古文"},
                new encodeEntity(){reg="[\u0780-\u07BF]",Zname="塔纳文Thaana一种印度文"},
                new encodeEntity(){reg="[\uA800-\uA82F]",Zname="比哈文Syloti Nagri一种印度文"},
                new encodeEntity(){reg="[\u1900-\u194F]",Zname="林布文Limbu一种印度文"},
                new encodeEntity(){reg="[\u1A00-\u1A1F]",Zname="布吉文Buginese一种印度文"},
                new encodeEntity(){reg="[\u0B00-\u0B7F]",Zname="奥里雅文Oriya一种印度文"},
                new encodeEntity(){reg="[\u0B80-\u0BFF]",Zname="泰米尔文Tamil一种印度文"},
                new encodeEntity(){reg="[\u0C00-\u0C7F]",Zname="泰卢固文Telugu一种印度文"},
                new encodeEntity(){reg="[\u0C80-\u0CFF]",Zname="卡纳达文Kannada一种印度文"},
                new encodeEntity(){reg="[\u0900-\u097F]",Zname="天城体梵文Devanagari一种印度文"},
                new encodeEntity(){reg="[\u0A00-\u0A7F]",Zname="古尔穆基文Gurmukhi一种印度文"},
                new encodeEntity(){reg="[\u0A80-\u0AFF]",Zname="古吉拉特文Gujarati一种印度文"},
                new encodeEntity(){reg="[\u0D00-\u0D7F]",Zname="马拉雅拉姆文Malayalam一种印度文"},
                new encodeEntity(){reg="[\u1700-\u171F]",Zname="他加禄文Tagalog一种菲律宾文"},
                new encodeEntity(){reg="[\u1720-\u173F]",Zname="汉奴劳文Hanunoo一种菲律宾文"},
                new encodeEntity(){reg="[\u1740-\u175F]",Zname="Buhid一种菲律宾文"},
                new encodeEntity(){reg="[\u1760-\u177F]",Zname="Tagbanwa一种菲律宾文"},
                new encodeEntity(){reg="[\u13A0-\u13FF]",Zname="彻罗基文Cherokee美国印弟安文"},
                new encodeEntity(){reg="[\u1950-\u197F]",Zname="Tai Le中缅边境民族文"},
                new encodeEntity(){reg="[\u1980-\u19DF]",Zname="新傣文中国少数民族文"},
                new encodeEntity(){reg="[\u2C00-\u2C5F]",Zname="格拉哥里文Glagolitic一种斯拉夫文"},
                new encodeEntity(){reg="[\u1200-\u139F\u2D80-\u2DDF]",Zname="衣索比亚文Ethiopic"},
                new encodeEntity(){reg="[\u2D30-\u2D7F]",Zname="提非纳文Tifinagh一种衣索匹亚文"}
 
            };
            return list;
        
        }
    }
    /// <summary>
    
/// 语言实体
    
/// </summary>
    public class encodeEntity
    {
        public string reg { getset; }
        public string Zname { getset; }
    }
    /// <summary>
    
/// 记录实体
    
/// </summary>
    public class recordEntity
    {
        public int count { getset; }
        public string Zname { getset; }
    }
原文地址:https://www.cnblogs.com/tongchuanxing/p/unicode.html