# ================================================================================
# Unconditional mappings
# ================================================================================
# The German es-zed is special--the normal mapping is to SS.
# Note: the titlecase should never occur in practice. It is equal to titlecase(uppercase(<es-zed>))
00DF; 00DF; 0053 0073; 0053 0053; # LATIN SMALL LETTER SHARP S
6条答案
按热度按时间sirbozc51#
“ß”字符等同于“ss”(例如,用于德语),并且在您的区域设置(您在应用中使用的区域设置)中定义为“is”。
您可以尝试使用以下方法对不同的语言环境进行一些试验:
编辑:正如用户所说,这个方法是无效的,一个可能的变通方法(不是很优雅)是:
mzmfm0qo2#
toUpperCase( Locale )
的文档明确说明了将发生的情况:由于大小写Map并不总是1:1字符Map,因此结果String的长度可能与原始String的长度不同。
小写字母升s -〉两个字母:安全等级
dpiehjr43#
Java的实现只是简单地遵循Unicode规范的规定,而Unicode是这样规定的:
参考:http://unicode.org/Public/UNIDATA/SpecialCasing.txt
如果你想实现一种不同于Unicode的大写转换形式,你需要自己指定并实现它。
(If你想看到一群人因为"大写ß"而在衣领下发热,请阅读此电子邮件线程-http://unicode.org/mail-arch/unicode-ml/y2007-m05/0007.html)
x7rlezfr4#
试试
java.lang.String.toUpperCase(java.util.Locale)
。p8h8hvxi5#
看起来
Characeter.toUpperCase()
忽略了这些规则,因此您可以使用它来实现所需的转换:字符串大小写Map方法比字符大小写Map方法有几个优点。字符串大小写Map方法可以执行区域设置相关Map、上下文相关Map和1:M字符Map,而字符大小写Map方法不能。
vybvopom6#
这样就能破案了
搜索结果:ßDENR