[英]How to convert vb6 'vbFromUnicode' to string in C#
我在VB6中获得了代码,需要在C#中进行转换。 我已经用谷歌搜索过,但没有得到任何具体答案。
VB代码:
Dim strTemp = StrConv(strTemp , vbFromUnicode)
我试图在C#中这样做:
var strTemp = System.Runtime.InteropServices.Marshal.StringToBSTR(strTemp);
我认为这是不正确的。
有什么建议么? 在c#中上述vb6代码的正确插入是什么?
通过系统默认代码页,这是将Unicode字符串转换为Ansi字符串。
StrConv(strTemp , vbFromUnicode)
在C#中,您需要从当前区域性中通过ANSICodePage找到默认代码页
int codepage = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ANSICodePage;
byte[] convertedBytes = Encoding.GetEncoding(codepage).GetBytes(unicodeString);
string convertedAsciiString = System.Text.Encoding.ASCII.GetString(convertedBytes);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.