将两个 ascii 字符转换为其“对应”的单字符扩展 ascii 表示形式

2024-02-01

问题: 我有两个来自外部系统的固定宽度字符串。第一个包含基本字符(如 a-z),第二个(可以)包含附加到第一个字符串以创建实际字符的变音符号。

string asciibase = "Dutch has funny chars: a,e,u";
string diacrits  = "                       ' \" \"";

//no clue what to do

string result = "Dutch has funny chars: á,ë,ü";

我可以编写大量搜索并替换所有字符+不同的变音符号,但希望有一些更优雅的东西。

有人知道如何解决这个问题吗?尝试使用 string.Normalize (c#) 计算小数值,但没有结果。而且谷歌并没有真正拿出什么东西。


将变音符号从 Unicode 组合变音符号范围转换为合适的 unicode 值:

http://www.unicode.org/charts/PDF/U0300.pdf http://www.unicode.org/charts/PDF/U0300.pdf

然后将字符和它的变音符号放在一起,例如对于 e-acute,U+0065 =“e”且 U+0301 = 急性。

  String s = "\u0065\u0301";

Then:

  string normalisedString = s.Normalize();

将两者组合成一个新字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将两个 ascii 字符转换为其“对应”的单字符扩展 ascii 表示形式 的相关文章

随机推荐