吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 956|回复: 2
收起左侧

[求助] C#unicode转字符串

[复制链接]
遗憾迟香 发表于 2020-3-24 16:12
本帖最后由 遗憾迟香 于 2020-3-24 16:13 编辑

我从网上爬到了这种中英混合的字符串,中文部分用unicode表示了,而英文部分保持保持不变
示例:https://music.zhuolin.wang/api.php?callback=jQuery11130182920795747622_1585018563804&types=search&count=20&source=netease&pages=1&name=%E9%B8%A1%E4%BD%A0%E5%A4%AA%E7%BE%8E
爬到的部分字符串为:
\u8521\u5f90\u5764-\u53ea\u56e0\u4f60\u592a\u7f8e\uff08ROE remix\uff09

我把获取网页源码的代码的StreamReader编码改成Encoding.Unicode之后啥都没了,请问怎么解决?
自从学了编程之后,越来越讨厌中文了
        /// <summary>
        /// 获取网页源码
        /// </summary>
        /// <param name="url">url</param>
        /// <returns></returns>
        public static string GetS(string url, Encoding en)
        {
            string message = string.Empty;
            HttpWebRequest request;
            try
            {
                request = (HttpWebRequest)WebRequest.Create(url);
                request.Accept = "text/html, application/xhtml+xml, */*";
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)";
                request.KeepAlive = true;
                request.ProtocolVersion = HttpVersion.Version11;
                ServicePointManager.Expect100Continue = false;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream responseStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(responseStream, en);
                message = reader.ReadToEnd();
                reader.Close();
                responseStream.Close();
            }
            catch (Exception err)
            {
                message = err.Message;
            }
            return message;
        }

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

gana 发表于 2020-3-24 16:26
简单点的笨方法,转一下就是了。

         private void Button1_Click(object sender, EventArgs e)
        {
            var url = "https://music.zhuolin.wang/api.php?callback=jQuery11130182920795747622_1585018563804&types=search&count=20&source=netease&pages=1&name=%E9%B8%A1%E4%BD%A0%E5%A4%AA%E7%BE%8E";
            var text = GetS(url,Encoding.UTF8);
            //Unicode转中文
            text = Unicode2String(text);
            richTextBox1.Text = text;

        }

        public static string Unicode2String(string source)
        {
            return new Regex(@"\\u([0-9A-F]{4})", RegexOptions.IgnoreCase | RegexOptions.Compiled).Replace(
                         source, x => string.Empty + Convert.ToChar(Convert.ToUInt16(x.Result("$1"), 16)));
        }


QQ截图20200324162627.png
看,六眼飞鱼 发表于 2020-3-24 16:28
lwq 发表于 2020-3-24 16:36
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-30 05:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表