我在处理希腊语的输入,元音可以有重音。
我注意到一些奇怪的输入中包含元音与重音,有时相同的元音与重音似乎是两个独立的字符,而其他时候相同的元音与重音似乎是一个字符,我想不同的字符集编码是有罪的行为。
示例如下所示
έ -----
έ -----
目前,作为一种解决方案,我所做的是将任何可能的两个字符元音替换为单个字符,如下所示:
text = text.replaceAll("ά", "ά")
.replaceAll("έ", "έ")
.replaceAll("ή", "ή")
.replaceAll("ί", "ί")
.replaceAll("ύ", "ύ")
.replaceAll("ό", "ό")
.replaceAll("ώ", "ώ")
.replaceAll("Ά", "Ά")
.replaceAll("Έ", "Έ")
.replaceAll("Ή", "Ή")
.replaceAll("Ί", "Ί")
.replaceAll("Ύ", "Ύ")
.replaceAll("Ό", "Ό")
.replaceAll("Ώ", "Ώ");
但应该有更好的方法来实现这一点,我使用Java进行文本处理
根本原因:有时用Unicode有许多不同的方式来表示相同的字形。通常我们转换为规范形式,但有两种规范/规范化形式(分解:NFD和组合:NFC)。苹果更喜欢第一种(这是Unicode最初的首选方式),大多数其他操作系统更喜欢第二种。每种字体都有自己的偏好(但shaper库会处理它)。
您可以将文本转换为规范组合形式(NFC),但并非所有字形都可以转换为单个字符:某些重音和基本字符的组合需要两个码点(如果您有多个重音,则需要更多码点)。
由于Unicode的复杂性,同一文本有多种编码方式。可以使用锐音符将ε编码为单个字符“带TONOS的希腊小写字母EPSILON”(U 03AD),或编码为“希腊小写字母EPSILON”(U 03B5),后跟“组合锐音符”(U 0301)。不同的人和软件有时会对这些进行不同的编码。
要转换为“更紧凑”的编码,可以使用java。文本归一化器类和归一化形式C(NFC)。
// you can pass the entire string into this:
Normalizer.normalize("ε\u0301", Normalizer.Form.NFC) // produces a string with a \u03AD char
不太紧凑的编码称为NFD。
我正在创建一个包含希腊字符的XHTML。在下面找到一个简单的例子。 当我打印结果时,我得到了。 有什么能帮忙的吗?
首先,请原谅我英语不好。这不是我的母语(这是我的问题之一,稍后你会看到原因)。 我正在Java中制作一个方法,建议计算字符串的元音。输入来自windows提示符,因为我分别使用javac和java命令编译和执行。 我已经写了一些代码来解决这个问题,但我无法计算带有重音符号的元音。例如。当我尝试“canción”时,它的输出只计算 2 个元音。 我正在使用扫描仪作为输入法。 我尝试比较两个字符串,因
我必须编写一个小程序来删除作为输入的字符串中的重音。我还必须创建一个函数,将每个带重音的字符替换为相应的不带重音的字符,我有一个循环,为main中的每个字符调用该函数: 问题是,如果我在main中提供字符串“é”作为输入,则该字符串被视为大小为2的字符串(参见下面的示例),并且上面的函数被调用两次而不是一次。此外,作为函数输入的char不是正确的。我想我在函数中遇到了相同的大小问题。这个重音不应该
我正在尝试使用iText 7为Java创建一个带有希腊字符的pdf。PDF中只有拉丁字符和数字可见。 我正在使用以下代码加载字体: 我该怎么办?
我是AWS DataPipeline的新手。我创建了一个成功的datapipeline来将所有内容从RDS拉到S3 bucket。一切都管用。我在S3 bucket中看到了我的。csv文件。但我在表中存储西班牙语名称,在csv中,我看到的是“García”而不是“García”
我将tinyMCE与一些ajax函数一起使用。我有自己的按钮来保存内容,当用户使用按下它时,我会获取内容并将其发送到服务器。我还使用自己的bbcode插件在保存之前将内容从html转换为bbcode。但问题是当用户使用一些重音字符时,如会将其转换为。我尝试使用,但在本例中bbcode不起作用。意思是从 Wir Müssen uns Treffen