当前位置:编程学习 > C#/ASP.NET >>

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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,