0

我想将用户输入的 ascii 编码文本转换为 UTF-8 编码,以便我可以使用任何 unicode 字体类型显示它。例如,我想将 ASCII 中的英文字母“l”显示为 Unicode 中的“ക”。我想我也需要一个映射系统,以便我可以将 l 映射到“ക”。请帮我解决这个问题。

4

3 回答 3

1

您的文本采用 ISCII(印度信息交换脚本代码)。您需要将具有正确代码页的 SCII 转换为 unicode。以下方法应该可以完成这项工作。Convert 会将给定的文本从一种编码转换为另一种编码。GetEncoding 将为您提供 Convert 方法使用的 Encoding 对象。

示例代码可以在这里找到:http: //www.dotnetframework.org/default.aspx/Net/Net/3@5@50727@3053/DEVDIV/depot/DevDiv/releases/whidbey/netfxsp/ndp/clr/src /BCL/系统/文本/ISCIIEncoding@cs/1/ISCIIEncoding@cs

代码页标识符可以在这里找到:http: //msdn.microsoft.com/en-us/library/windows/desktop/dd317756 (v=vs.85).aspx

public static byte[] Convert(System.Text.Encoding srcEncoding, System.Text.Encoding dstEncoding, byte[] bytes) System.Text.Encoding 的成员 摘要:将整个字节数组从一种编码转换为另一种编码。参数: srcEncoding:字节的编码格式。dstEncoding:目标编码格式。bytes: 返回: System.Byte 类型的数组,其中包含将字节从 srcEncoding 转换为 dstEncoding 的结果。

和这个

public static System.Text.Encoding GetEncoding(int codepage) System.Text.Encoding 的成员 摘要:返回与指定代码页标识符关联的编码。参数: codepage:首选编码的代码页标识符。- 或 - 0,使用默认编码。返回: 与指定代码页关联的 System.Text.Encoding。

根据维基百科文章,马拉雅拉姆语的代码页是 57009

于 2013-07-16T08:07:31.423 回答
0
于 2013-07-16T08:11:13.957 回答
0
Encoding.UTF8.GetString(Encoding.ASCII.GetBytes(input))
于 2013-07-16T07:40:21.813 回答