【问题标题】:Convert Nepali Unicode to Plain Text in C#在 C# 中将尼泊尔语 Unicode 转换为纯文本
【发布时间】:2015-07-30 15:40:26
【问题描述】:

如何在 C# 中将尼泊尔语 unicode 转换为纯文本?

例如:我有尼泊尔语 unicode

म भात खान्छु 

如何转换成

Ma Bhat Khanchu

【问题讨论】:

    标签: c# unicode


    【解决方案1】:

    您不想从一个字符集“转换”到另一个字符集。你需要做的是从梵文音译。快速谷歌搜索并没有找到 C# 库,但从 wikipedia 看来,它的实现应该相当简单。

    您的代码将如下所示

    String Transliterate(map<char,string> table,String input)
    {
        StringBuilder builder;
        foreach (char c in input)
        {
           builder.append(table[c]);
        }
        return builder.ToString();
    }
    

    table 是根据维基百科或其他来源中列出的映射构建的。

    【讨论】:

      【解决方案2】:

      尝试以下...

      It depends on the encoding of your string ([ASCII][1], [UTF][1]-8, ...).
      

      例如:

      byte[] b1 = System.Text.Encoding.UTF8.GetBytes (myString);
      byte[] b2 = System.Text.Encoding.ASCII.GetBytes (myString);
      

      为什么编码很重要的一个小例子:

      string pi = "\u03a0";
      byte[] ascii = System.Text.Encoding.ASCII.GetBytes (pi);
      byte[] utf8 = System.Text.Encoding.UTF8.GetBytes (pi);
      
      Console.WriteLine (ascii.Length); //Will print 1
      Console.WriteLine (utf8.Length); //Will print 2
      Console.WriteLine (System.Text.Encoding.ASCII.GetString (ascii)); 
      

      //会打印'?'

      ASCII 根本不具备处理特殊字符的能力。

      在内部,.NET 框架使用UTF-16 来表示字符串,因此如果您只是想获取 .NET 使用的确切字节,请使用System.Text.Encoding.Unicode.GetBytes (...).

      请参阅角色 Encoding in the .NET Framework (MSDN) 了解更多信息。

      【讨论】:

      • 如何以字节[]字节表示म भात खान्छु?
      猜你喜欢
      • 1970-01-01
      • 2021-01-25
      • 2016-11-06
      • 1970-01-01
      • 2019-09-13
      • 2016-11-06
      • 1970-01-01
      • 1970-01-01
      • 2021-03-13
      相关资源
      最近更新 更多