[运维笔记]PowerShell简体中文编码转换
以下这个函数用于将GBK编码转换为UTF8编码:
using namespace System; using namespace System.Text; function GBKtoUTF8 { param ($gbk_text) [Encoding] $GBK = [Encoding]::GetEncoding("gb2312"); $str = $GBK.GetBytes($gbk_text); $encodedBytes = [Encoding]::Convert( $GBK, [Encoding]::UTF8, $str ); return [Encoding]::UTF8.GetString($encodedBytes) }
相关文档:
- .Net框架中的 UTF8Encoding 类https://docs.microsoft.com/zh-cn/dotnet/api/system.text.utf8encoding?view=net-5.0
- .Net框架中的 Encoding 类https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encoding?view=net-5.0
附录: .NET 支持的编码
代码页 | “属性” | 显示名称 | .NET Framework 支持 | .NET Core 支持 | .NET 5.0 和更高版本支持 | |
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 | unicodeFFFE | Unicode (大字节序) | ✓ | ✓ | ✓ | |
1250 | windows-1250 | 中欧语(Windows) | ||||
1251 | windows-1251 | 西里尔语(Windows) | ||||
1252 | GB2312 | 西欧(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-日语 | 日语(Mac) | ||||
10002 | x-mac-chinesetrad | 繁体中文(Mac) | ||||
10003 | x-mac-韩语 | 朝鲜语(Mac) | ✓ | |||
10004 | x-mac-阿拉伯语 | 阿拉伯语(Mac) | ||||
10005 | x-mac-希伯来语 | 希伯来语(Mac) | ||||
10006 | x-mac-希腊语 | 希腊语(Mac) | ||||
10007 | x-mac-西里尔文 | 西里尔语(Mac) | ||||
10008 | x-mac-chinesesimp | 简体中文(Mac) | ✓ | |||
10010 | x-mac | 罗马尼亚语(Mac) | ||||
10017 | x-mac-乌克兰语 | 乌克兰语(Mac) | ||||
10021 | x-mac-泰语 | 泰语(Mac) | ||||
10029 | x-mac-ce | 中欧语(Mac) | ||||
10079 | x-mac-冰岛语 | 冰岛语(Mac) | ||||
10081 | x-mac-土耳其语 | 土耳其语(Mac) | ||||
10082 | x-mac-克罗地亚语 | 克罗地亚语(Mac) | ||||
12000 | utf-32 | Unicode (UTF-32) | ✓ | ✓ | ✓ | |
12001 | 32BE | Unicode (UTF-16 32 大字节序) | ✓ | ✓ | ✓ | |
20000 | x-中文-CNS | 繁体中文(CNS) | ||||
20001 | x-cp20001 | TCA 台湾 | ||||
20002 | x-中文-Eten | 繁体中文(Eten) | ||||
20003 | x-cp20003 | IBM5550 台湾 | ||||
20004 | x-cp20004 | TeleText 台湾 | ||||
20005 | x-cp20005 | Wang 台湾 | ||||
20105 | x-IA5 | 西欧(IA5) | ||||
20106 | x-IA5-德语 | 德语(IA5) | ||||
20107 | x IA5-瑞典语 | 瑞典语(IA5) | ||||
20108 | x IA5-挪威语 | 挪威语(IA5) | ||||
20127 | us-ascii | US-ASCII | ✓ | ✓ | ✓ | |
20261 | x-cp20261 | 不是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 (英国) | ||||
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-泰语 | IBM EBCDIC (泰语) | ||||
20866 | koi8-ru-r | 西里尔语(KOI8-RU-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-ru-u | 西里尔语(KOI8-RU) | ||||
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-欧洲 | 欧洲 | ||||
38598 | iso-8859-8-i | 希伯来语(ISO-逻辑) | ✓ | |||
50220 | iso-2022-日本 | 日语(JIS) | ✓ | |||
50221 | csISO2022JP | 日语(JIS-允许1字节假名) | ✓ | |||
50222 | iso-2022-日本 | 日语(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 | ISCII 孟加拉语 | ✓ | |||
57004 | x-iscii-ta | ISCII 泰米尔语 | ✓ | |||
57005 | x-iscii-te | ISCII 泰卢固语 | ✓ | |||
57006 | x-iscii-as | ISCII 阿萨姆语 | ✓ | |||
57007 | x-iscii-或 | 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) | ✓ | ✓ | ✓ |