vb.net 到底如何自动识别unicode?
请教大家,我现在创建一个工程,定义一个字符串变量:dim abc as string
然后给abc赋了一个字符串
abc = "人民网" '转为汉字应该是 “人民网”
这个字符串实际上就是汉字对应的unicode编码,我想把它打印出来变成汉字,目前的做法是用一个循环,读取 &Hxxxxx;的内容,用chrW("xxxxx")转为汉字,这个方法虽然有效,但是效率太低,有时候一个字符串有几万个汉字,就得做很多循环,太慢了。
我想知道,vb.net 中能不能把上面的abc字符串直接变为汉字打印出来?比如 msgbox abc 就直接跳出“人民网”,而不需要我一个一个循环去转换?
--------------------编程问答-------------------- private string UnicodeToGB(string content)
{
Regex objRegex = new Regex("(?<UnicodeCode>[\\d]{5});", RegexOptions.IgnoreCase);
Match objMatch = objRegex.Match(content);
StringBuilder sb = new StringBuilder(content) ;
while(objMatch.Success)
{
string code = Convert.ToString(Convert.ToInt32(objMatch.Result("${UnicodeCode}")),16);
byte[] array = new byte[2];
array[0] = (byte)Convert.ToInt32(code.Substring(2),16);
array[1] = (byte)Convert.ToInt32(code.Substring(0,2),16);
sb.Replace(objMatch.Value,Encoding.Unicode.GetString(array));
objMatch=objMatch.NextMatch();
}
return sb.ToString();
}
--------------------编程问答-------------------- to lobdotcn :你这个和我说的一样,还是通过分析字符串一个一个去转换,我用 vb.net 的chrw函数是一回事,我发现这个方法的效率特别低,在pc上还挺快,但是在pda上转换一个几千个字的串,时间要很长……我的想法是,vb.net能否直接识别这些unicode?而不需要额外通过函数循环去转换? --------------------编程问答-------------------- 不知道有那位大哥可以答复问题?快过年了…… --------------------编程问答-------------------- 查一下.SYSTEM.TEXT.ENCODING命名空间.
试一下用STREAMREADER读里面加个声明为unicode参数.没试过关注中..
补充:.NET技术 , VB.NET