我有一个特定字符'š',我需要它在wchar_t类型中的表示形式,表示一个UTF-16 Unicode字符,所以我可以将它作为wParam和WM_CHAR消息发送给Winapi SendMessage函数。这个字符的两个字节表示是字节[] {97,1}将特定字符转换为int
我需要的int是154.但是对于下面的代码,我总是得到353.任何想法如何获得154而不是353?
char ch = 'š';
byte[] charByte = Encoding.Unicode.GetBytes(ch); // reults in byte[] { 97, 1 }
int charInt = BitConverter.ToInt32(charCode, 0); // results in 353, but 154 is correct
'(int)'š''似乎也返回353。所以'(int)char.ConvertFromUtf32((int)'''[0]'。不完全确定如何,为什么和你想要完成什么。你是否尝试过使用'353'并看看你会得到什么?可能工作。 – devRicher
为什么它应该返回154? – CodingYoshi
使用'Encoding'和'BitConverter'也会返回353.为什么你需要特别的154? – Abion47