当前位置: 首页 > 面试题库 >

土耳其字符的小写字母点缀我

朱季
2023-03-14
问题内容

在Java 6中,

System.out.println(String.valueOf('\u0130').toLowerCase());

打印i(u0069),但是在Java 7中,它用双点(u0069 u0307)打印i 。

我知道这是土耳其语字符,但是如何使用此代码使Java 7输出与v6相同的输出?

System.out.println(inputText.toLowerCase());

还要确保该代码可以处理国际文本,而无需对该toLowerCase函数进行硬编码以仅使用土耳其语区域设置。


问题答案:

关于此iLowerCase问题,有一篇非常详细的博客文章

让我尝试总结以下主要部分:

在Java 7中,此方法的确发生了变化,并且与Java 6相比,此字符的处理方式有所不同。添加了以下代码:

} else if (srcChar == '\u0130') { // LATIN CAPITAL LETTER I DOT
    lowerChar = Character.ERROR;
}

==>此更改通过以下方式导致:

基本上,此更改的最终结果是,对于这种特定情况(大写的虚线I),Java
7现在可以查询特殊的Unicode字符数据库(http://www.unicode.org/Public/UNIDATA/SpecialCasing.txt)
,提供有关复杂案例映射的数据。查看此文件,您可以看到几行大写的I:

CODE       LOWER   TITLE   UPPER  LANGUAGE
0130;  0069 0307;   0130;   0130;
0130;  0069;        0130;   0130;       tr;
0130;  0069;        0130;   0130;       az;


 类似资料:
  • 问题内容: 使用python 2.7: 尝试了一些解码(例如,myCity.decode(“ utf-8”)。lower()),但找不到执行该操作的方法。 如何降低这种字母?(“ I”>“ı”,“İ”>“ i”等) 编辑:在土耳其语中,“ I”的小写字母是“ı”。“ i”的大写字母为“İ” 问题答案: 有些人建议使用语言环境。至少在Ubuntu上,也许与此bug有关,设置此语言环境不会产生预期的结

  • 有没有办法根据土耳其语改变R中的字符编码系统? 我试图在将R脚本保存为iso-8859-9、windows-1254或latin5时更改编码。最后的编码给了我最好的结果,但是当我重新加载R脚本时,并不是所有的字符都被正确保存。例如: 原件: 重新加载(第二个示例中的字符已刷新): 有人有主意吗?提前谢谢!

  • Byte[]utf8=str1.getBytes(“Windows-1254”);test3=新字符串(“windows-1254”); 输出为I:3/Ortakl:1/2:°:1/2 但上述代码在控制台程序中工作良好,即main method main method打印类似 isortakli的输出 任何建议都必须是可行的

  • 问题内容: 我没有找到有关如何在 Windows 上处理此问题的良好说明,因此我在这里进行了介绍。 土耳其语()和()中有两个字母,它们是python错误处理的。 鉴于区域设置正确,应该如何: 和 我尝试甚至没有帮助。 如何让python正确处理这两个字母? 问题答案: 您应该使用PyICU

  • 问题内容: THIS IS SOMETEXT 我想使该段的首字母大写。 CSS可能吗? 编辑: 我所有的文本都用大写字母。 问题答案: 您可以使用以使段落的每个单词都大写,如下所示: 在 IE4 +中受支持。 这里的例子 。 [16.5大写:“文本转换”属性] 此属性控制元素文本的大写效果。 将每个单词的第一个字符大写;其他字符不受影响。 将每个单词都用大写字母大写: 在此假设下: 我想使它看起来

  • 控制台输出中的IntelliJ IDEA错误编码 https://www.jetbrains.com/help/idea/encoding.html intellij idea的terminal after run命令不支持土耳其语字符。我尝试了以上两个链接,但我无法解决问题。控制台输出照片屏幕截图