Unicode 角色扩展在引擎盖下是如何工作的?
我正在通过C#阅读杰弗里·里克特的Unicode 角色扩展在引擎盖下是如何工作的?,unicode,encoding,cultureinfo,culture,Unicode,Encoding,Cultureinfo,Culture,我正在通过C#阅读杰弗里·里克特的CLR。在解释字符串比较时,他指出: 当Compare方法不执行顺序比较时,它 执行字符扩展。字符扩展是指 字符扩展为多个字符,与文化无关 对于上述情况,他指出: …德语中的Eszet字符“ß”总是扩展为 “ss。因此,在代码示例中,调用Compare总是 返回0,无论我实际传入哪个区域性 我想知道运行时从哪个来源获取ß等于ss,或者它是如何计算的?导致非托管代码,COMNlsInfo::InternalCompareString,所以它是一条死胡同看看第一行。
CLR。在解释字符串比较时,他指出:
当Compare方法不执行顺序比较时,它
执行字符扩展。字符扩展是指
字符扩展为多个字符,与文化无关
对于上述情况,他指出:
…德语中的Eszet字符“ß”总是扩展为
“ss。因此,在代码示例中,调用Compare总是
返回0,无论我实际传入哪个区域性
我想知道运行时从哪个来源获取ß
等于ss
,或者它是如何计算的?导致非托管代码,COMNlsInfo::InternalCompareString
,所以它是一条死胡同看看第一行。或者也可以点击链接。
String s1 = "Strasse";
String s2 = "Straße";
Boolean eq;
CultureInfo ci = new CultureInfo("de-DE");
eq = String.Compare(s1, s2, true, ci) == 0; // returns true