如何将尼泊尔语unicode转换为C#中的纯文本?
例如:我有尼泊尔unicode
म भात खान्छु
如何将其转换为
Ma Bhat Khanchu
答案 0 :(得分:3)
你不想"转换"从一个字符集到另一个字符集。你需要做的是从梵文音译。一个快速的谷歌搜索没有找到一个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
。
答案 1 :(得分:0)
尝试以下方法......
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内部,.NET框架使用UTF-16来表示字符串,因此如果您只想获取.NET使用的确切字节,请使用System.Text.Encoding.Unicode.GetBytes (...).
有关详细信息,请参阅字符Encoding in the .NET Framework (MSDN)。