- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现 C# (.NET v4.0) 和 Java 在将“İ”转换为具有“不变”区域性的小写字母方面存在行为差异。
在 Java 中,"İ".toLowerCase(Locale.ROOT)
返回 'i'
。
在 C# 中,"İ".ToLowerInvariant()
和 "İ".ToLower(CultureInfo.InvariantCulture)
都返回 "İ"
但是 "İ".ToLower(new CultureInfo("en-EN"))
返回 'i'
。
看起来 Java 正确地进行了转换,但 C# 没有。这是 C# 中的错误吗?
最佳答案
一起来看看吧。问题的字母
İ
事实上
U + 0130: Latin Capital Letter I With Dot Above
(字符映射引用)。这似乎是合理的,恕我直言,在 Invariant Culture 的情况下(我们无权使用英语或土耳其语的任何文化)ToUpperInvariant()
方法应该返回字母本身(因为它已经是 capital)并且对于 ToLowerInvariant
,结果应该类似于
U + xxxx: Latin Small Letter I With Dot Above
但是,我们没有这样的一封信:
https://en.wikipedia.org/wiki/Dotted_and_dotless_I
由于我们没有所需的字母,我们所能做的就是保留原始字母完整。
当我们使用 "en-EN"
(英语)文化时,我们有权将 Letter I With Dot Above 对应到只是很好的旧英语 I
并因此为 ToLower()
返回 i
。
关于java - C# 中的 string.ToLowerInvariant() 与 Java 中的 String.ToLowerCase(Culture.ROOT) 对于土耳其语 İ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38523156/
我为什么需要它:我的任务是处理 Windows 文件名,特别是将它们用作键。当且仅当相应的文件可以在 Windows 文件系统中共存时,它们的 key 应该是唯一的。我可以将其转换为大写或小写。 Th
我有以下代码行: var connectionString = configItems. Find(item => item.Name.ToLowerInvariant
我只是在寻找这两种方法产生不同结果的任何例子。首先,我访问msdn page , 并从中运行代码并稍作更改 using System; using System.Globalization; usin
众所周知,Unicode 的发明是为了解决代码页问题并表示世界上所有(当然不是全部,但大多数)语言的所有字符。接下来我们有 unicode 转换格式——如何用计算机字节表示 unicode 字符: u
有什么区别以及何时使用什么?如果我总是使用 ToLower() 会有什么风险?如果我总是使用 ToLowerInvariant() 会有什么风险? 最佳答案 根据当前的文化,ToLower 可能会产生
我通过 Jeffrey Richter 在 CLR via C# 中读到 String.ToUpperInvariant() 比 String.ToLowerInvariant() 快。他说这是因为
有什么区别以及何时使用什么?如果我总是使用 ToLower() 会有什么风险?如果我总是使用 ToLowerInvariant() 会有什么风险? 最佳答案 根据当前的文化,ToLower 可能会产生
当我像这样定义开尔文符号( http://www.unicode-symbol.com/u/212A.html )时: var kelvinSign = "K"; 并做一个控制台写行: Console
是否可以进入 linq 查询?我有一个最简单形式的 Entity Framework 4 查询的 linq: List = List.Where(f => f.Value.ToString().ToL
我发现 C# (.NET v4.0) 和 Java 在将“İ”转换为具有“不变”区域性的小写字母方面存在行为差异。 在 Java 中,"İ".toLowerCase(Locale.ROOT) 返回 '
我是一名优秀的程序员,十分优秀!