繁体   English   中英

如何在C#中将vb6'vbFromUnicode'转换为字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM