【发布时间】:2023-03-27 16:10:02
【问题描述】:
以下代码是一种解决方法,它允许我们使用现有产品中的某些功能,而无需更改其中的任何代码。这对我们来说是件好事,但我想了解为什么会这样? 0x81 字符有什么特别之处?
"A".Equals(Encoding.UTF8.GetString(new byte[] { 0x41, 0x81 }), StringComparison.InvariantCulture) // Returns TRUE
以上代码适用于 CurrentCulture 和 InvariantCulture 但不适用于 Ordinal。这是有道理的,因为按顺序比较每个字节都会在上面的代码中失败。它不适用于默认编码 (SBCS)。
【问题讨论】:
标签: c# .net string encoding string-comparison