【发布时间】:2017-06-01 01:37:48
【问题描述】:
如何在 C#/.Net 框架中创建/编码具有特定编码的字符串?例如,我想制作一个使用西欧 ISO 8859-1 编码的字符串。
【问题讨论】:
标签: c# .net string encoding iso-8859-1
如何在 C#/.Net 框架中创建/编码具有特定编码的字符串?例如,我想制作一个使用西欧 ISO 8859-1 编码的字符串。
【问题讨论】:
标签: c# .net string encoding iso-8859-1
C#/.Net/.NetCore Framework(s) 使用 UTF-16 编码(即您创建的任何字符串都是这种编码)。可以在 Encoding.Unicode 下找到(但不一定每个人都使用 UTF-16...)。
因此,您需要将字符串转换为所需的编码。请注意,这种方法/代码仅适用于您创建了自己的字符串,否则如果您从其他地方(如文件)获取字符串/文本,则必须采用不同的方法。
Encoding westernEuropeanIso8859 = Encoding.GetEncoding("ISO-8859-1");
Encoding utf16CSharpDefault = Encoding.Unicode;
byte[] utfBytes = utf16CSharpDefault.GetBytes(vExp);
byte[] isoBytes = Encoding.Convert(utf16CSharpDefault, westernEuropeanIso8859, utfBytes);
string stringWithDesiredEncoding = westernEuropeanIso8859.GetString(isoBytes);
【讨论】: