TEncoding::MIMEName - C++ Builder

C++ Builder 参考手册 ➙ System::Sysutils ➙ TEncoding ➙ MIMEName


头文件:#include
命名空间:System::Sysutils
类:TEncoding
访问权限:public:
属性定义:

__property System::UnicodeString MIMEName = {read=GetMIMEName};

MIMEName 是 System::Sysutils::TEncoding 的属性,代码页的名称。

  • 兼容性:
    C++ Builder 11.0 的 TEncoding 类有这个属性,但是没有 GetEncodingMIMEName 函数;
    C++ Builder 10.2 的 TEncoding 类没有这个属性,但是有 GetEncodingMIMEName 函数;
    其他版本没有测试;
  • 根据源码分析,Windows 版本支持的代码页从源码里面提取出来转成以下表格,其他平台也是查表得到的,支持的代码页在源码的 source\rtl\sys\CPConv.inc 文件里面,通过 GetIcuName(CodePage, Result, TICUConvNameKind.Mime) 获取的。

以下表格是 TEncoding::MIMEName 在 Windows 平台里面支持的代码页 (从源码里面提取出来的,顺序和名称都和源码里面完全相同,备注是本文加上的),其中有多个名称的,MIMEName 属性和 GetEncodingMIMEName 函数得到的是代码页当中第一个 MIME名称:

代码页 MIME名称 备注
20127 us-ascii
ascii
csascii
US-ASCII, 美国 7位 ASCII
65000 utf-7
csunicode11utf7
UTF-7
65001 utf-8
utf8
UTF-8
28591 iso-8859-1
cp819
ibm819
iso-ir-100
iso8859-1
iso_8859-1
iso_8859-1:1987
csisolatin1
拉丁语 1, 西欧 (ISO)
28592 iso-8859-2
iso-ir-101
iso8859-2
iso_8859-2
iso_8859-2:1987
csisolatin2
拉丁语 2, 中欧 (ISO)
28593 iso-8859-3
iso-ir-109
iso8859-3
iso_8859-3
iso_8859-3:1988
csisolatin3
拉丁语 3, 南欧 (ISO)
28594 iso-8859-4
iso-ir-110
iso8859-4
iso_8859-4
iso_8859-4:1988
csisolatin4
拉丁语 4, 北欧 (ISO)
28595 iso-8859-5
cyrillic
iso-ir-144
iso8859-5
iso_8859-5
iso_8859-5:1988
csisolatincyrillic
Cyrillic, 斯拉夫 (ISO)
28596 iso-8859-6
arabic
asmo-708
ecma-114
iso-ir-127
iso8859-6
iso_8859-6
iso_8859-6:1987
csisolatinarabic
Arabic, 阿拉伯 (ISO)
28597 iso-8859-7
greek
greek8
iso8859-7
iso_8859-7
iso_8859-7:1987
iso_8859-7:2003
Greek, 希腊 (ISO)
28598 iso-8859-8
hebrew
iso-ir-138
iso8859-8
iso_8859-8
iso_8859-8:1988
csisolatinhebrew
Hebrew, 希伯来 (视觉顺序) (ISO)
28599 iso-8859-9
iso-ir-148
iso8859-9
iso_8859-9
iso_8859-9:1989
csisolatin5
拉丁 5 / Turkish, 土耳其 (ISO)
28600 iso-8859-10
iso-ir-157
iso8859-10
iso_8859-10
iso_8859-10:1992
csisolatin6
拉丁 6 / Nordic, 北日耳曼 (ISO)
28601 iso-8859-11
iso8859-11
iso_8859-11
Thai, 泰国 (ISO)
28603 iso-8859-13
iso-ir-179
iso8859-13
iso_8859-13
拉丁 7 / Baltic, 波罗的 (ISO)
28604 iso-8859-14
iso-celtic
iso-ir-199
iso8859-14
iso_8859-14
iso_8859-14:1998
拉丁 8 / Celtic, 凯尔特 (ISO)
28605 iso-8859-15
iso-ir-203
iso8859-15
iso_8859-15
iso_8859-15:1998
拉丁 9, 西欧 (芬兰/法国) (ISO)
28606 iso-8859-16
iso-ir-226
iso8859-16
iso_8859-16
iso_8859-16:2001
拉丁 10, 东南欧 (罗马尼亚) (ISO)
932 shift_jis
cp932
shift-jis
sjis
csshiftjis
Shift-JIS, 日语 (Japanese)
936 gbk
cp936
windows-936
gb2312
csgb2312
GBK (国标扩展码/国标码),
中国大陆 (Chinese Main Land),新加坡 (Singapore)
949 ks_c_5601-1987
cp949
iso-ir-149
korean
ksc_5601
ks_c_5601-1989
csksc56011987
韩国语 (Korean)
950 big5
cp950
big-5
big-five
bigfive
cn-big5
csbig5
BIG5 (大五码),
中国台湾 (Chinese Taiwan), 中国香港 (Chinese Hongkong)
1200 ucs-2
csunicode
utf-16
utf-16le
UTF-16
1201 utf-16be UTF-16BE (UTF-16 Big Endian)
1250 windows-1250
cp1250
东欧 (Eastern Europe)
1251 windows-1251
cp1251
西里尔 Windows 系统 (Cyrillic Windows),俄语 Windows 系统
1252 windows-1252
cp1252
西方语言-拉丁语1 (Western Latin 1),
美国 Windows 用的是 1252,美国 DOS 用的是 437 (ASCII)
1253 windows-1253
cp1253
希腊语 (Greek)
1254 windows-1254
cp1254
土耳其语 (Turkish)
1255 windows-1255
cp1255
希伯来语 (Hebrew),以色列
1256 windows-1256
cp1256
阿拉伯语 (Arabic)
1257 windows-1257
cp1257
波罗的海 (Baltic),立陶宛、拉脱维亚、爱沙尼亚等
1258 windows-1258
cp1258
越南语 (Vietnamese)
20866 koi8-r 西里尔/斯拉夫8位编码,Cyrillic KOI8-R,俄语、保加利亚语等
20936 gb_2312-80
chinese
iso-ir-58
csiso58gb231280
简体中文 GB2312,早期汉字编码,现在使用 936 代码页
21866 koi8-u 西里尔文 (Cyrillic) (KOI8-U)
50220 iso-2022-jp
csiso2022jp
日语 (无片假名) (JIS)
50225 iso-2022-kr
csiso2022kr
韩语 (ISO)
50227 iso-2022-cn 简体中文 (ISO-2022)
51932 euc-jp
eucjp
cseucpkdfmtjapanese
日语 (EUC)
51936 euc-cn
euccn
简体中文 (EUC)
51949 euc-kr
euckr
韩语 (EUC)
51950 euc-tw
euctw
cseuctw
繁体中文 (EUC)
52936 hz-gb-2312 简体中文 (HZ-GB2312)
54936 gb18030 简体中文 GB18030,
在 GBK 双字节编码的基础上,增加了 4 个字节的汉字编码,
总共收录了 70,244 个汉字,没有被广泛采用,
现在用 UNICODE 代替,收录了更多的汉字和更好的兼容性
437 ibm437
437
cp437
cspc8codepage437
ASCII (美国信息交换标准代码), 美国
737 cp737 希腊语 (DOS)
775 ibm775
cp775
cspc775baltic
Baltic (DOS)
850 ibm850
850
cp850
cspc850multilingual
DOS 拉丁语 1, 西欧 (DOS)
852 ibm852
852
cp852
cspcp852
DOS 拉丁语 2, 中欧 (DOS)
853 cp853 853
855 ibm855
855
cp855
csibm855
OEM 西里尔文 (主要为俄语)
857 ibm857
857
cp857
csibm857
土耳其 (DOS)
858 cp858 OEM 多语言拉丁语 1 + 欧洲符号
860 ibm860
860
cp860
csibm860
葡萄牙语 (DOS)
861 ibm861
861
cp-is
cp861
csibm861
Icelandic (DOS)
862 ibm862
862
cp862
cspc862latinhebrew
希伯来 (DOS)
863 ibm863
863
cp863
csibm863
加拿大法语 (DOS)
864 ibm864
cp864
csibm864
阿拉伯语 (864)
865 ibm865
865
cp865
csibm865
Nordic (DOS)
866 ibm866
866
cp866
csibm866
西里尔文 (俄语) (DOS)
869 ibm869
869
cp-gr
cp869
csibm869
现代希腊语 (DOS)
874 windows-874
cp874
iso-ir-166
tis-620
tis620
tis620-0
tis620.2529-1
tis620.2533-0
tis620.2533-1
泰国语 (Thai) (Windows)
1361 cp1361
johab
韩语 (Johab)
10000 mac
macintosh
macroman
西欧 (Mac)
10004 macarabic 阿拉伯 (Mac)
10005 machebrew 希伯来 (Mac)
10006 macgreek 希腊 (Mac)
10007 maccyrillic 西里尔 (Mac)
10010 macromania 罗马尼亚 (Mac)
10017 macukraine 乌克兰 (Mac)
10021 macthai 泰语 (Mac)
10029 maccentraleurope 中欧 (Mac)
10079 maciceland 冰岛 (Mac)
10081 macturkish 土耳其 (Mac)
10082 maccroatian 克罗地亚 (Mac)

例子:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Memo1->Lines->Add(TEncoding::UTF8->MIMEName);
    Memo1->Lines->Add(TEncoding::Unicode->MIMEName);
    Memo1->Lines->Add(TEncoding::ANSI->MIMEName);
    Memo1->Lines->Add(TEncoding::Default->MIMEName);
    Memo1->Lines->Add(TEncoding::ASCII->MIMEName);

    TMBCSEncoding *cp936 = new TMBCSEncoding(936);
    Memo1->Lines->Add(cp936->MIMEName);
    delete cp936;

    TMBCSEncoding *cp950 = new TMBCSEncoding(950);
    Memo1->Lines->Add(cp950->MIMEName);
    delete cp950;
}

运行结果:

运行结果

其中 ANSI 和 Default 编码是在操作系统的控制面板里面设置的,例如:

设置默认编码为 GBK:

设置默认编码为 GBK

设置默认编码为 UTF-8:

设置默认编码为 UTF-8

相关:

  • C++ Builder 的字符串类型、字符类型、字符编码
  • System::Sysutils::GetEncodingMIMEName
  • System::Sysutils::TEncoding::EncodingName
  • System::Sysutils::TEncoding::MIMEName
  • System::Sysutils::TEncoding::CodePage
  • System::Sysutils::TEncoding
  • System::Sysutils::Languages
  • System::Sysutils::LCIDToCodePage
  • System::Sysutils::PreferredUILanguageList
  • System::Sysutils::PreferredUILanguages
  • System::Sysutils::LoadStr
  • System::Sysutils::FmtLoadStr
  • System::Sysutils
  • System::UnicodeString::CodePage
  • System::AnsiStringT::CodePage
  • System::AnsiStringBase::CodePage
  • System

C++ Builder 参考手册 ➙ System::Sysutils ➙ TEncoding ➙ MIMEName

你可能感兴趣的:(TEncoding::MIMEName - C++ Builder)