为什么 Strings.Asc('š') 和 Strings.AscW('š') return 有不同的值?
Why do Strings.Asc('š') and Strings.AscW('š') return different values?
Strings.Asc('š') = 154
Strings.AscW('š') = 353
我正在将一个旧的解决方案从 netframework 移植到 netstandard。 Strings.Asc 不存在于 visual basic 包中,唯一的选项是 Strings.AscW。从表面上看,它们在功能上似乎是相同的,但是它们return 不同的解决方案
为什么?
我想要 Strings.AscW 的相同结果 (154),是否有适用于 .netstandard 的类似解决方案?
我猜你将不得不通过显式编码走很长的路,并构建一个 char
数组,因为似乎没有解码单个 char
的方法s.
int result = Encoding.GetEncoding(1252).GetBytes(new char[] {'š'})[0];
Strings.Asc('š') = 154
Strings.AscW('š') = 353
我正在将一个旧的解决方案从 netframework 移植到 netstandard。 Strings.Asc 不存在于 visual basic 包中,唯一的选项是 Strings.AscW。从表面上看,它们在功能上似乎是相同的,但是它们return 不同的解决方案
为什么? 我想要 Strings.AscW 的相同结果 (154),是否有适用于 .netstandard 的类似解决方案?
我猜你将不得不通过显式编码走很长的路,并构建一个 char
数组,因为似乎没有解码单个 char
的方法s.
int result = Encoding.GetEncoding(1252).GetBytes(new char[] {'š'})[0];