为什么Strings.Asc('š')和Strings.AscW('š')返回不同的值?

问题描述 投票:1回答:1
Strings.Asc('š') = 154
Strings.AscW('š') = 353

我正在将旧的解决方案从netframework移植到netstandard。在Visual Basic包中不存在Strings.Asc,唯一的选择是Strings.AscW。从表面上看,它们在功能上似乎是相同的,但是它们返回不同的解决方案

为什么?我想从Strings.AscW获得相同的结果(154),是否有类似的解决方案适用于.netstandard?]

c# .net-standard
1个回答
1
投票

我猜您将不得不通过显式编码走很长一段路,并构建一个char数组,因为似乎没有一种方法可以解码单个char

int result = Encoding.GetEncoding(1252).GetBytes(new char[] {'š'})[0];
© www.soinside.com 2019 - 2024. All rights reserved.