mch*_*chr 17 java localization internationalization
在Java中,String toLowerCase方法使用默认系统Locale来确定如何处理小写.如果我小写一些ASCII文本,并希望确保按预期处理这个,我应该使用哪个Locale?
编辑:我主要关心的是在模式中编写表名和列名等标识符.因此我想要英文下套管适用.
Locale.ROOT声明它是区域设置敏感操作的语言/国家/地区中性区域设置
Locale.ENGLISH可能也是一个安全的选择.
是的,Locale.ENGLISH对于编程语言标识符和URL部件等案例操作是安全的选择,因为它不涉及任何特殊的大小写规则和ENGLISH案例中的所有7位ASCII字符 - 转换为7位ASCII字符.
对于所有其他语言环境,情况并非如此.在土耳其语中,"我"和"我"字符不会相互转换.
"虚线和无点我"解释说:
土耳其字母表是拉丁字母的变体,包括字母I的两个不同版本,一个点缀,另一个无点.
在Unicode中,U + 0131是小写字母无点i(ı).U + 0130(İ)是带点的大写字母i.ISO-8859-9分别在0xFD和0xDD位置.在正常排版中,当小写字母i与其他变音符号组合时,通常在添加变音符号之前去除点; 但是,Unicode仍然列出了包含点i的等效组合序列,因为从逻辑上讲,它是正在修改的正常点缀i字符.
大多数Unicode软件大写ı到I和小写İ到i,但是,除非专门为土耳其语设置,它将I到i和大写i降低到I.因此大写然后小写,反之亦然,改变字母.
特殊例外列表保存在http://unicode.org/Public/UNIDATA/SpecialCasing.txt
Run Code Online (Sandbox Code Playgroud)# ================================================================================ # Turkish and Azeri # I and i-dotless; I-dot and i are case pairs in Turkish and Azeri # The following rules handle those cases. 0130; 0069; 0130; 0130; tr; # LATIN CAPITAL LETTER I WITH DOT ABOVE 0130; 0069; 0130; 0130; az; # LATIN CAPITAL LETTER I WITH DOT ABOVE # When lowercasing, remove dot_above in the sequence I + dot_above, which will turn into i. # This matches the behavior of the canonically equivalent I-dot_above 0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE 0307; ; 0307; 0307; az After_I; # COMBINING DOT ABOVE...
| 归档时间: |
|
| 查看次数: |
7366 次 |
| 最近记录: |