小编ale*_*lex的帖子

C#UNICODE到ANSI转换

在.NET Framework中使用UNICODE编码时,我需要您帮助解决一些令我不安的问题...

我必须使用非UNICODE应用程序与一些客户数据系统连接,这些客户拥有全球公司(中文,韩文,俄文......).所以他们必须提供一个ASCII 8位文件,它将用他们的Windows代码页编码.

因此,如果希腊客户在产品名称中向我发送包含'Σ'(sigma字母'\ u03A3')的文本文件,我将获得与211 ANSI代码点相对应的等效字母,在我自己的代码页中表示.我的电脑是法语Windows,这意味着代码页是Windows-1252,所以我将在这个文本文件中使用'Ó'......好的.

我知道这个客户是希腊客户,因此我可以通过在导入参数中强制使用windows-1253代码页来阅读他的文件.

/// <summary>
/// Convert a string ASCII value using code page encoding to Unicode encoding
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static string ToUnicode(string value, int codePage)
{
    Encoding windows = Encoding.Default;
    Encoding unicode = Encoding.Unicode;
    Encoding sp = Encoding.GetEncoding(codePage);
    if (sp != null && !String.IsNullOrEmpty(value))
    {
        // First get bytes in windows encoding
        byte[] wbytes = windows.GetBytes(value);

        // Check if CodePage to use is different from current Windows one …
Run Code Online (Sandbox Code Playgroud)

c# unicode ansi

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

ansi ×1

c# ×1

unicode ×1