`
piperzero
  • 浏览: 3472648 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

c#字符串转unicode

 
阅读更多

[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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics