'க','ம','லி' 我能够剥离 unicode 字节,但生成 unicode 字符却成了问题。 b-6ren">
gpt4 book ai didi

c# - 在印度语言的 c# 中将 Unicode 字符串转换为 unicode 字符

转载 作者:太空狗 更新时间:2023-10-29 18:20:24 25 4
gpt4 key购买 nike

我需要将 unicode 字符串转换为 unicode 字符。

例如:泰米尔语

"கமலி"=>'க','ம','லி'

我能够剥离 unicode 字节,但生成 unicode 字符却成了问题。

byte[] stringBytes = Encoding.Unicode.GetBytes("கமலி");
char[] stringChars = Encoding.Unicode.GetChars(stringBytes);
foreach (var crt in stringChars)
{
Trace.WriteLine(crt);
}

它给出的结果是:

'க'=>0x0b95

'ம'=>0x0bae

'ல'=>0x0bb2

'ி'=>0x0bbf

所以这里的问题是如何将字符“லி”剥离为“லி”而不拆分'ல','ி'。

因为它在印度语言中很自然,将辅音和元音表示为单个字符,但使用 C# 进行解析会很困难。

所有的 i 需要拆分成 3 个字符。

最佳答案

要迭代字素,您可以使用 StringInfo 的方法类。

.NET 文档将基本字符 + 组合字符的每个组合称为“文本元素”,您可以使用 TextElementEnumerator 迭代它们:

var str = "கமலி";
var enumerator = System.Globalization.StringInfo.GetTextElementEnumerator(str);
while (enumerator.MoveNext())
{
Console.WriteLine(enumerator.Current);
}

输出:



லி

关于c# - 在印度语言的 c# 中将 Unicode 字符串转换为 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com