根据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 { get; set; }

public string Zname { get; set; }

}

/// <summary>

/// 记录实体

/// </summary>

public class recordEntity

{

public int count { get; set; }

public string Zname { get; set; }

}

}