获取列表
private System.Windows.Forms.ComboBox cbxEncoding;
this.cbxEncoding = new System.Windows.Forms.ComboBox();
this.cbxEncoding.FormattingEnabled = true;
this.cbxEncoding.Location = new System.Drawing.Point(151, 29);
this.cbxEncoding.Name = "cbxEncoding";
this.cbxEncoding.Size = new System.Drawing.Size(496, 28);
this.cbxEncoding.TabIndex = 3;
this.cbxEncoding.SelectedIndexChanged += new System.EventHandler(this.cbxEncoding_SelectedIndexChanged);
private void MainForm_Load(object sender, EventArgs e)
{
EncodingInfoX.LoadEncodings(cbxEncoding,"gb2312");
}
private void cbxEncoding_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
EncodingInfoX x = cbxEncoding.SelectedItem as EncodingInfoX;
if (x == null) return;
//...
}
catch(Exception exp)
{
System.Windows.Forms.MessageBox.Show(exp.Message, "异常");
}
}
EncodingInfoX.cs
public class EncodingInfoX : Object
{
public EncodingInfo src { get; set; }
public EncodingInfoX(EncodingInfo source)
{
src = source;
}
public int NameLength = 15;
public override string ToString()
{
string temp = src.Name;
if (temp.Length > NameLength)
{
temp = temp.Substring(0, NameLength - 3) + "...";
}
return string.Format("{0,5}|{1,-" + NameLength + "}|{2}", src.CodePage, temp, src.DisplayName);
}
/// <summary>
/// 将编码清单加载到 ComboBox 控件中
/// </summary>
/// <param name="cbx"></param>
/// <param name="selectName"></param>
public static void LoadEncodings(System.Windows.Forms.ComboBox cbx, string selectName)
{
try
{
cbx.Items.Clear();
EncodingInfo[] Encodings = Encoding.GetEncodings();
EncodingInfoX[] EncodingExs = new EncodingInfoX[Encodings.Length];
int index = -1;
string name = selectName;
for (int i = 0; i < Encodings.Length; i++)
{
EncodingExs[i] = new EncodingInfoX(Encodings[i]);
if (string.IsNullOrEmpty(name) == false && Encodings[i].Name.ToLower() == name.ToLower())
{
index = i;
}
}
cbx.Items.AddRange(EncodingExs);
if (index != -1) cbx.SelectedIndex = index;
}
catch (Exception exp)
{
System.Windows.Forms.MessageBox.Show(exp.Message);
}
}
}
效果展示
字符编码清单
代码页(CodePage) |
名称(Name) |
显示名称(DisplayName) |
0 |
gb2312 |
简体中文(GB2312) - 默认 |
37 |
IBM037 |
IBM EBCDIC (美国-加拿大) |
437 |
IBM437 |
OEM 美国 |
500 |
IBM500 |
IBM EBCDIC (国际) |
708 |
ASMO-708 |
阿拉伯字符(ASMO-708) |
720 |
DOS-720 |
阿拉伯字符(DOS) |
737 |
ibm737 |
希腊字符(DOS) |
775 |
ibm775 |
波罗的海字符(DOS) |
850 |
ibm850 |
西欧字符(DOS) |
852 |
ibm852 |
中欧字符(DOS) |
855 |
IBM855 |
OEM 西里尔语 |
857 |
ibm857 |
土耳其字符(DOS) |
858 |
IBM00858 |
OEM 多语言拉丁语 I |
860 |
IBM860 |
葡萄牙语(DOS) |
861 |
ibm861 |
冰岛语(DOS) |
862 |
DOS-862 |
希伯来字符(DOS) |
863 |
IBM863 |
加拿大法语(DOS) |
864 |
IBM864 |
阿拉伯字符(864) |
865 |
IBM865 |
北欧字符(DOS) |
866 |
cp866 |
西里尔字符(DOS) |
869 |
ibm869 |
现代希腊字符(DOS) |
870 |
IBM870 |
IBM EBCDIC (多语言拉丁语 2) |
874 |
windows-874 |
泰语(Windows) |
875 |
cp875 |
IBM EBCDIC (现代希腊语) |
932 |
shift_jis |
日语(Shift-JIS) |
936 |
gb2312 |
简体中文(GB2312) |
949 |
ks_c_5601-1987 |
韩语 |
950 |
big5 |
繁体中文(Big5) |
1026 |
IBM1026 |
IBM EBCDIC (土耳其拉丁语 5) |
1047 |
IBM01047 |
IBM 拉丁语 1 |
1140 |
IBM01140 |
IBM EBCDIC (美国-加拿大-欧洲) |
1141 |
IBM01141 |
IBM EBCDIC (德国-欧洲) |
1142 |
IBM01142 |
IBM EBCDIC (丹麦-挪威-欧洲) |
1143 |
IBM01143 |
IBM EBCDIC (芬兰-瑞典-欧洲) |
1144 |
IBM01144 |
IBM EBCDIC (意大利-欧洲) |
1145 |
IBM01145 |
IBM EBCDIC (西班牙-欧洲) |
1146 |
IBM01146 |
IBM EBCDIC (英国-欧洲) |
1147 |
IBM01147 |
IBM EBCDIC (法国-欧洲) |
1148 |
IBM01148 |
IBM EBCDIC (国际-欧洲) |
1149 |
IBM01149 |
IBM EBCDIC (冰岛语-欧洲) |
1200 |
utf-16 |
Unicode |
1201 |
utf-16BE |
Unicode (Big-Endian) |
1250 |
windows-1250 |
中欧字符(Windows) |
1251 |
windows-1251 |
西里尔字符(Windows) |
1252 |
Windows-1252 |
西欧字符(Windows) |
1253 |
windows-1253 |
希腊字符(Windows) |
1254 |
windows-1254 |
土耳其字符(Windows) |
1255 |
windows-1255 |
希伯来字符(Windows) |
1256 |
windows-1256 |
阿拉伯字符(Windows) |
1257 |
windows-1257 |
波罗的海字符(Windows) |
1258 |
windows-1258 |
越南字符(Windows) |
1361 |
Johab |
韩语(Johab) |
10000 |
macintosh |
西欧字符(Mac) |
10001 |
x-mac-japanese |
日语(Mac) |
10002 |
x-mac-chinesetrad |
繁体中文(Mac) |
10003 |
x-mac-korean |
韩语(Mac) |
10004 |
x-mac-arabic |
阿拉伯字符(Mac) |
10005 |
x-mac-hebrew |
希伯来字符(Mac) |
10006 |
x-mac-greek |
希腊字符(Mac) |
10007 |
x-mac-cyrillic |
西里尔字符(Mac) |
10008 |
x-mac-chinesesimp |
简体中文(Mac) |
10010 |
x-mac-romanian |
罗马尼亚语(Mac) |
10017 |
x-mac-ukrainian |
乌克兰语(Mac) |
10021 |
x-mac-thai |
泰语(Mac) |
10029 |
x-mac-ce |
中欧字符(Mac) |
10079 |
x-mac-icelandic |
冰岛语(Mac) |
10081 |
x-mac-turkish |
土耳其字符(Mac) |
10082 |
x-mac-croatian |
克罗地亚语(Mac) |
12000 |
utf-32 |
Unicode (UTF-32) |
12001 |
utf-32BE |
Unicode (UTF-32 Big-Endian) |
20000 |
x-Chinese-CNS |
繁体中文(CNS) |
20001 |
x-cp20001 |
TCA 中国台湾 |
20002 |
x-Chinese-Eten |
繁体中文(Eten) |
20003 |
x-cp20003 |
IBM5550 中国台湾 |
20004 |
x-cp20004 |
TeleText 中国台湾 |
20005 |
x-cp20005 |
Wang 中国台湾 |
20105 |
x-IA5 |
西欧字符(IA5) |
20106 |
x-IA5-German |
德语(IA5) |
20107 |
x-IA5-Swedish |
瑞典语(IA5) |
20108 |
x-IA5-Norwegian |
挪威语(IA5) |
20127 |
us-ascii |
US-ASCII |
20261 |
x-cp20261 |
T.61 |
20269 |
x-cp20269 |
ISO-6937 |
20273 |
IBM273 |
IBM EBCDIC (德国) |
20277 |
IBM277 |
IBM EBCDIC (丹麦-挪威) |
20278 |
IBM278 |
IBM EBCDIC (芬兰-瑞典) |
20280 |
IBM280 |
IBM EBCDIC (意大利) |
20284 |
IBM284 |
IBM EBCDIC (西班牙) |
20285 |
IBM285 |
IBM EBCDIC (UK) |
20290 |
IBM290 |
IBM EBCDIC (日语片假名) |
20297 |
IBM297 |
IBM EBCDIC (法国) |
20420 |
IBM420 |
IBM EBCDIC (阿拉伯语) |
20423 |
IBM423 |
IBM EBCDIC (希腊语) |
20424 |
IBM424 |
IBM EBCDIC (希伯来语) |
20833 |
x-EBCDIC-KoreanExtended |
IBM EBCDIC (韩语扩展) |
20838 |
IBM-Thai |
IBM EBCDIC (泰语) |
20866 |
koi8-r |
西里尔字符(KOI8-R) |
20871 |
IBM871 |
IBM EBCDIC (冰岛语) |
20880 |
IBM880 |
IBM EBCDIC (西里尔俄语) |
20905 |
IBM905 |
IBM EBCDIC (土耳其语) |
20924 |
IBM00924 |
IBM 拉丁语 1 |
20932 |
EUC-JP |
日语(JIS 0208-1990 和 0212-1990) |
20936 |
x-cp20936 |
简体中文(GB2312-80) |
20949 |
x-cp20949 |
韩语 Wansung |
21025 |
cp1025 |
IBM EBCDIC (西里尔塞尔维亚-保加利亚语) |
21866 |
koi8-u |
西里尔字符(KOI8-U) |
28591 |
iso-8859-1 |
西欧字符(ISO) |
28592 |
iso-8859-2 |
中欧字符(ISO) |
28593 |
iso-8859-3 |
拉丁语 3 (ISO) |
28594 |
iso-8859-4 |
波罗的海字符(ISO) |
28595 |
iso-8859-5 |
西里尔字符(ISO) |
28596 |
iso-8859-6 |
阿拉伯字符(ISO) |
28597 |
iso-8859-7 |
希腊字符(ISO) |
28598 |
iso-8859-8 |
希伯来字符(ISO-Visual) |
28599 |
iso-8859-9 |
土耳其字符(ISO) |
28603 |
iso-8859-13 |
爱沙尼亚语(ISO) |
28605 |
iso-8859-15 |
拉丁语 9 (ISO) |
29001 |
x-Europa |
欧罗巴 |
38598 |
iso-8859-8-i |
希伯来字符(ISO-Logical) |
50220 |
iso-2022-jp |
日语(JIS) |
50221 |
csISO2022JP |
日语(JIS-允许 1 字节假名) |
50222 |
iso-2022-jp |
日语(JIS-允许 1 字节假名 - SO/SI) |
50225 |
iso-2022-kr |
韩语(ISO) |
50227 |
x-cp50227 |
简体中文(ISO-2022) |
51932 |
euc-jp |
日语(EUC) |
51936 |
EUC-CN |
简体中文(EUC) |
51949 |
euc-kr |
韩语(EUC) |
52936 |
hz-gb-2312 |
简体中文(HZ) |
54936 |
GB18030 |
简体中文(GB18030) |
57002 |
x-iscii-de |
ISCII 梵文 |
57003 |
x-iscii-be |
ISCII 孟加拉语 |
57004 |
x-iscii-ta |
ISCII 泰米尔语 |
57005 |
x-iscii-te |
ISCII 泰卢固语 |
57006 |
x-iscii-as |
ISCII 阿萨姆语 |
57007 |
x-iscii-or |
ISCII 奥里雅语 |
57008 |
x-iscii-ka |
ISCII 卡纳达语 |
57009 |
x-iscii-ma |
ISCII 马拉雅拉姆语 |
57010 |
x-iscii-gu |
ISCII 古吉拉特语 |
57011 |
x-iscii-pa |
ISCII 旁遮普语 |
65000 |
utf-7 |
Unicode (UTF-7) |
65001 |
utf-8 |
Unicode (UTF-8) |