c#字符串转unicode

来源:互联网 发布:电脑易教录屏软件 编辑:程序博客网 时间:2024/05/02 00:04
 

[DllImport("Kernel32", CharSet = CharSet.Auto)]
static extern Int32 MultiByteToWideChar(
UInt32 codePage,
UInt32 dwFlags,
[In, MarshalAs(UnmanagedType.LPStr)] String lpMultiByteStr,
Int32 cbMultiByte,
[Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder lpWideCharStr,

Int32 cchWideChar);

 

private string ConvertToUnicode( string str, uint codepage)//utf8  to unicode
{
int l = str.Length;
int i = 0;
i = MultiByteToWideChar( codepage, 0, str, -1, null, 0);
StringBuilder wideStr = new StringBuilder(i);
i = MultiByteToWideChar( codepage, 0, str, -1, wideStr,
wideStr.Capacity);
string s = wideStr.ToString();
return s;
}

若将str(utf-8)转str1 (unicode):

string str1 = ConvertToUnicode(str, 65001);//65001 utf-8 codepage

没完全测试,不知是否有误,望指正

原创粉丝点击